diff --git a/STATS.md b/STATS.md index 002e391c3..53b370c93 100644 --- a/STATS.md +++ b/STATS.md @@ -97,3 +97,4 @@ | 2025-09-30 | 427,991 (+8,072) | 336,472 (+8,439) | 764,463 (+16,511) | | 2025-10-01 | 433,591 (+5,600) | 341,742 (+5,270) | 775,333 (+10,870) | | 2025-10-02 | 440,852 (+7,261) | 348,099 (+6,357) | 788,951 (+13,618) | +| 2025-10-03 | 446,829 (+5,977) | 359,937 (+11,838) | 806,766 (+17,815) | diff --git a/bun.lock b/bun.lock index 236832aa2..d1f47f0f6 100644 --- a/bun.lock +++ b/bun.lock @@ -10,9 +10,94 @@ "turbo": "2.5.6", }, }, - "packages/app": { - "name": "@opencode/app", - "version": "0.14.0", + "packages/console/app": { + "name": "@opencode/console-app", + "dependencies": { + "@ibm/plex": "6.4.1", + "@jsx-email/render": "1.1.1", + "@kobalte/core": "catalog:", + "@openauthjs/openauth": "catalog:", + "@opencode/console-core": "workspace:*", + "@opencode/console-mail": "workspace:*", + "@solidjs/meta": "^0.29.4", + "@solidjs/router": "^0.15.0", + "@solidjs/start": "^1.1.0", + "solid-js": "catalog:", + "vinxi": "^0.5.7", + "zod": "catalog:", + }, + }, + "packages/console/core": { + "name": "@opencode/console-core", + "version": "0.14.1", + "dependencies": { + "@aws-sdk/client-sts": "3.782.0", + "@jsx-email/render": "1.1.1", + "@opencode/console-mail": "workspace:*", + "@opencode/console-resource": "workspace:*", + "@planetscale/database": "1.19.0", + "aws4fetch": "1.0.20", + "drizzle-orm": "0.41.0", + "postgres": "3.4.7", + "stripe": "18.0.0", + "ulid": "catalog:", + }, + "devDependencies": { + "drizzle-kit": "0.30.5", + "mysql2": "3.14.4", + }, + }, + "packages/console/function": { + "name": "@opencode/console-function", + "version": "0.14.1", + "dependencies": { + "@ai-sdk/anthropic": "2.0.0", + "@ai-sdk/openai": "2.0.2", + "@ai-sdk/openai-compatible": "1.0.1", + "@hono/zod-validator": "catalog:", + "@openauthjs/openauth": "0.0.0-20250322224806", + "ai": "catalog:", + "hono": "catalog:", + "zod": "catalog:", + }, + "devDependencies": { + "@cloudflare/workers-types": "4.20250522.0", + "@types/node": "catalog:", + "openai": "5.11.0", + "typescript": "catalog:", + }, + }, + "packages/console/mail": { + "name": "@opencode/console-mail", + "version": "0.14.1", + "dependencies": { + "@jsx-email/all": "2.2.3", + "@jsx-email/cli": "1.4.3", + "@types/react": "18.0.25", + "react": "18.2.0", + }, + }, + "packages/console/resource": { + "name": "@opencode/console-resource", + "dependencies": { + "@cloudflare/workers-types": "^4.20250830.0", + }, + }, + "packages/console/scripts": { + "name": "@opencode/console-scripts", + "version": "0.14.1", + "dependencies": { + "@opencode/console-core": "workspace:*", + "tsx": "4.20.5", + }, + "devDependencies": { + "@types/node": "catalog:", + "typescript": "catalog:", + }, + }, + "packages/desktop": { + "name": "@opencode/desktop", + "version": "0.14.1", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/sdk": "workspace:*", @@ -44,94 +129,9 @@ "vite-plugin-solid": "^2.11.6", }, }, - "packages/console/app": { - "name": "@opencode/console-app", - "dependencies": { - "@ibm/plex": "6.4.1", - "@jsx-email/render": "1.1.1", - "@kobalte/core": "catalog:", - "@openauthjs/openauth": "catalog:", - "@opencode/console-core": "workspace:*", - "@opencode/console-mail": "workspace:*", - "@solidjs/meta": "^0.29.4", - "@solidjs/router": "^0.15.0", - "@solidjs/start": "^1.1.0", - "solid-js": "catalog:", - "vinxi": "^0.5.7", - "zod": "catalog:", - }, - }, - "packages/console/core": { - "name": "@opencode/console-core", - "version": "0.14.0", - "dependencies": { - "@aws-sdk/client-sts": "3.782.0", - "@jsx-email/render": "1.1.1", - "@opencode/console-mail": "workspace:*", - "@opencode/console-resource": "workspace:*", - "@planetscale/database": "1.19.0", - "aws4fetch": "1.0.20", - "drizzle-orm": "0.41.0", - "postgres": "3.4.7", - "stripe": "18.0.0", - "ulid": "catalog:", - }, - "devDependencies": { - "drizzle-kit": "0.30.5", - "mysql2": "3.14.4", - }, - }, - "packages/console/function": { - "name": "@opencode/console-function", - "version": "0.14.0", - "dependencies": { - "@ai-sdk/anthropic": "2.0.0", - "@ai-sdk/openai": "2.0.2", - "@ai-sdk/openai-compatible": "1.0.1", - "@hono/zod-validator": "catalog:", - "@openauthjs/openauth": "0.0.0-20250322224806", - "ai": "catalog:", - "hono": "catalog:", - "zod": "catalog:", - }, - "devDependencies": { - "@cloudflare/workers-types": "4.20250522.0", - "@types/node": "catalog:", - "openai": "5.11.0", - "typescript": "catalog:", - }, - }, - "packages/console/mail": { - "name": "@opencode/console-mail", - "version": "0.14.0", - "dependencies": { - "@jsx-email/all": "2.2.3", - "@jsx-email/cli": "1.4.3", - "@types/react": "18.0.25", - "react": "18.2.0", - }, - }, - "packages/console/resource": { - "name": "@opencode/console-resource", - "dependencies": { - "@cloudflare/workers-types": "^4.20250830.0", - }, - }, - "packages/console/scripts": { - "name": "@opencode/console-scripts", - "version": "0.14.0", - "dependencies": { - "@opencode/console-core": "workspace:*", - "tsx": "4.20.5", - }, - "devDependencies": { - "@types/node": "catalog:", - "typescript": "catalog:", - }, - }, "packages/function": { "name": "@opencode/function", - "version": "0.14.0", + "version": "0.14.1", "dependencies": { "@octokit/auth-app": "8.0.1", "@octokit/rest": "22.0.0", @@ -146,7 +146,7 @@ }, "packages/opencode": { "name": "opencode", - "version": "0.14.0", + "version": "0.14.1", "bin": { "opencode": "./bin/opencode", }, @@ -192,6 +192,7 @@ }, "devDependencies": { "@ai-sdk/amazon-bedrock": "2.2.10", + "@ai-sdk/google-vertex": "3.0.16", "@octokit/webhooks-types": "7.6.1", "@standard-schema/spec": "1.0.0", "@tsconfig/bun": "1.0.7", @@ -206,7 +207,7 @@ }, "packages/plugin": { "name": "@opencode-ai/plugin", - "version": "0.14.0", + "version": "0.14.1", "dependencies": { "@opencode-ai/sdk": "workspace:*", "zod": "catalog:", @@ -218,7 +219,7 @@ }, "packages/sdk/js": { "name": "@opencode-ai/sdk", - "version": "0.14.0", + "version": "0.14.1", "dependencies": { "@hey-api/openapi-ts": "0.82.5", }, @@ -229,7 +230,7 @@ }, "packages/web": { "name": "@opencode/web", - "version": "0.14.0", + "version": "0.14.1", "dependencies": { "@astrojs/cloudflare": "12.6.3", "@astrojs/markdown-remark": "6.3.1", @@ -293,6 +294,10 @@ "@ai-sdk/gateway": ["@ai-sdk/gateway@1.0.4", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.1" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-1roLdgMbFU3Nr4MC97/te7w6OqxsWBkDUkpbCcvxF3jz/ku91WVaJldn/PKU8feMKNyI5W9wnqhbjb1BqbExOQ=="], + "@ai-sdk/google": ["@ai-sdk/google@2.0.11", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.7" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-dnVIgSz1DZD/0gVau6ifYN3HZFN15HZwC9VjevTFfvrfSfbEvpXj5x/k/zk/0XuQrlQ5g8JiwJtxc9bx24x2xw=="], + + "@ai-sdk/google-vertex": ["@ai-sdk/google-vertex@3.0.16", "", { "dependencies": { "@ai-sdk/anthropic": "2.0.9", "@ai-sdk/google": "2.0.11", "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.7", "google-auth-library": "^9.15.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-tStlnOCRGRqKKJSCOtXhijX4r9kYVK2v+Vs7miJnfvr3sZfO8nRS0xnNhfgu17xuNi5LMMufeCYURTz4lKxzUQ=="], + "@ai-sdk/openai": ["@ai-sdk/openai@2.0.2", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-D4zYz2uR90aooKQvX1XnS00Z7PkbrcY+snUvPfm5bCabTG7bzLrVtD56nJ5bSaZG8lmuOMfXpyiEEArYLyWPpw=="], "@ai-sdk/openai-compatible": ["@ai-sdk/openai-compatible@1.0.1", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-luHVcU+yKzwv3ekKgbP3v+elUVxb2Rt+8c6w9qi7g2NYG2/pEL21oIrnaEnc6UtTZLLZX9EFBcpq2N1FQKDIMw=="], @@ -381,11 +386,11 @@ "@aws-sdk/util-user-agent-node": ["@aws-sdk/util-user-agent-node@3.782.0", "", { "dependencies": { "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "peerDependencies": { "aws-crt": ">=1.0.0" }, "optionalPeers": ["aws-crt"] }, "sha512-dMFkUBgh2Bxuw8fYZQoH/u3H4afQ12VSkzEi//qFiDTwbKYq+u+RYjc8GLDM6JSK1BShMu5AVR7HD4ap1TYUnA=="], - "@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + "@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], "@babel/compat-data": ["@babel/compat-data@7.28.4", "", {}, "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw=="], - "@babel/core": ["@babel/core@7.28.0", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.27.3", "@babel/helpers": "^7.27.6", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.0", "@babel/types": "^7.28.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ=="], + "@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], "@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], @@ -451,17 +456,17 @@ "@cloudflare/kv-asset-handler": ["@cloudflare/kv-asset-handler@0.4.0", "", { "dependencies": { "mime": "^3.0.0" } }, "sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA=="], - "@cloudflare/unenv-preset": ["@cloudflare/unenv-preset@2.7.5", "", { "peerDependencies": { "unenv": "2.0.0-rc.21", "workerd": "^1.20250924.0" }, "optionalPeers": ["workerd"] }, "sha512-eB3UAIVhrvY+CMZrRXS/bAv5kWdNiH+dgwu+1M1S7keDeonxkfKIGVIrhcCLTkcqYlN30MPURPuVFUEzIWuuvg=="], + "@cloudflare/unenv-preset": ["@cloudflare/unenv-preset@2.7.6", "", { "peerDependencies": { "unenv": "2.0.0-rc.21", "workerd": "^1.20250927.0" }, "optionalPeers": ["workerd"] }, "sha512-ykG2nd3trk6jbknRCH69xL3RpGLLbKCrbTbWSOvKEq7s4jH06yLrQlRr/q9IU+dK9p1JY1EXqhFK7VG5KqhzmQ=="], - "@cloudflare/workerd-darwin-64": ["@cloudflare/workerd-darwin-64@1.20250927.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-rFtXu/qhZziGOltjhHUCdlqP9wLUhf/CmnjJS0hXffGRAVxsCXhJw+7Vlr+hyRSHjHRhEV+gBFc4pHzT10Stzw=="], + "@cloudflare/workerd-darwin-64": ["@cloudflare/workerd-darwin-64@1.20251001.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-y1ST/cCscaRewWRnsHZdWbgiLJbki5UMGd0hMo/FLqjlztwPeDgQ5CGm5jMiCDdw/IBCpWxEukftPYR34rWNog=="], - "@cloudflare/workerd-darwin-arm64": ["@cloudflare/workerd-darwin-arm64@1.20250927.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-BcNlLVfPyctLjFeIJENhK7OZFkfaysHVA6G6KT1lwum+BaVOutebweLo2zOrH7UQCMDYdpkQOeb5nLDctvs8YA=="], + "@cloudflare/workerd-darwin-arm64": ["@cloudflare/workerd-darwin-arm64@1.20251001.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-+z4QHHZ/Yix82zLFYS+ZS2UV09IENFPwDCEKUWfnrM9Km2jOOW3Ua4hJNob1EgQUYs8fFZo7k5O/tpwxMsSbbQ=="], - "@cloudflare/workerd-linux-64": ["@cloudflare/workerd-linux-64@1.20250927.0", "", { "os": "linux", "cpu": "x64" }, "sha512-3c+RuyMj3CkaFS9mmVJyX6nNUdTn2kdWgPrpPoj7VbtU2BEGkrH1a4VAgIAiUh/tYRGUeY3owrUhqCv6L7HmJQ=="], + "@cloudflare/workerd-linux-64": ["@cloudflare/workerd-linux-64@1.20251001.0", "", { "os": "linux", "cpu": "x64" }, "sha512-hGS+O2V9Mm2XjJUaB9ZHMA5asDUaDjKko42e+accbew0PQR7zrAl1afdII6hMqCLV4tk4GAjvhv281pN4g48rg=="], - "@cloudflare/workerd-linux-arm64": ["@cloudflare/workerd-linux-arm64@1.20250927.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-/XtcZnIryAgLvums08r5xiSm5hYfRfUuj2iq/5Jl+Yysx1BmPjYLqjcIIXNATrzpKUrxf3AkvpSI75MBcePgpA=="], + "@cloudflare/workerd-linux-arm64": ["@cloudflare/workerd-linux-arm64@1.20251001.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-QYaMK+pRgt28N7CX1JlJ+ToegJF9LxzqdT7MjWqPgVj9D2WTyIhBVYl3wYjJRcgOlnn+DRt42+li4T64CPEeuA=="], - "@cloudflare/workerd-windows-64": ["@cloudflare/workerd-windows-64@1.20250927.0", "", { "os": "win32", "cpu": "x64" }, "sha512-+m124IiM149QvvzAOrO766uTdILqXJZqzZjqTaMTaWXegjjsJwGSL6v9d71TSFntEwxeXnpJPBkVWyKZFjqrvg=="], + "@cloudflare/workerd-windows-64": ["@cloudflare/workerd-windows-64@1.20251001.0", "", { "os": "win32", "cpu": "x64" }, "sha512-ospnDR/FlyRvrv9DSHuxDAXmzEBLDUiAHQrQHda1iUH9HqxnNQ8giz9VlPfq7NIRc7bQ1ZdIYPGLJOY4Q366Ng=="], "@cloudflare/workers-types": ["@cloudflare/workers-types@4.20250522.0", "", {}, "sha512-9RIffHobc35JWeddzBguGgPa4wLDr5x5F94+0/qy7LiV6pTBQ/M5qGEN9VA16IDT3EUpYI0WKh6VpcmeVEtVtw=="], @@ -615,7 +620,7 @@ "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.33.5", "", { "os": "win32", "cpu": "x64" }, "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="], - "@internationalized/date": ["@internationalized/date@3.9.0", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-yaN3brAnHRD+4KyyOsJyk49XUvj2wtbNACSqg0bz3u8t2VuzhC8Q5dfRnrSxjnnbDb+ienBnkn1TzQfE154vyg=="], + "@internationalized/date": ["@internationalized/date@3.10.0", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw=="], "@internationalized/number": ["@internationalized/number@3.6.5", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g=="], @@ -817,8 +822,6 @@ "@opencode-ai/sdk": ["@opencode-ai/sdk@workspace:packages/sdk/js"], - "@opencode/app": ["@opencode/app@workspace:packages/app"], - "@opencode/console-app": ["@opencode/console-app@workspace:packages/console/app"], "@opencode/console-core": ["@opencode/console-core@workspace:packages/console/core"], @@ -831,6 +834,8 @@ "@opencode/console-scripts": ["@opencode/console-scripts@workspace:packages/console/scripts"], + "@opencode/desktop": ["@opencode/desktop@workspace:packages/desktop"], + "@opencode/function": ["@opencode/function@workspace:packages/function"], "@opencode/web": ["@opencode/web@workspace:packages/web"], @@ -999,49 +1004,49 @@ "@rollup/pluginutils": ["@rollup/pluginutils@5.3.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q=="], - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.52.3", "", { "os": "android", "cpu": "arm" }, "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw=="], + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.52.4", "", { "os": "android", "cpu": "arm" }, "sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA=="], - "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.52.3", "", { "os": "android", "cpu": "arm64" }, "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw=="], + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.52.4", "", { "os": "android", "cpu": "arm64" }, "sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w=="], - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.52.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg=="], + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.52.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg=="], - "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.52.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A=="], + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.52.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw=="], - "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.52.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ=="], + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.52.4", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ=="], - "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.52.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A=="], + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.52.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw=="], - "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.52.3", "", { "os": "linux", "cpu": "arm" }, "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA=="], + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.52.4", "", { "os": "linux", "cpu": "arm" }, "sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ=="], - "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.52.3", "", { "os": "linux", "cpu": "arm" }, "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA=="], + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.52.4", "", { "os": "linux", "cpu": "arm" }, "sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q=="], - "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.52.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ=="], + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.52.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg=="], - "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.52.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw=="], + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.52.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g=="], - "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.52.3", "", { "os": "linux", "cpu": "none" }, "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg=="], + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.52.4", "", { "os": "linux", "cpu": "none" }, "sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ=="], - "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.52.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw=="], + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.52.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g=="], - "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.52.3", "", { "os": "linux", "cpu": "none" }, "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg=="], + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.52.4", "", { "os": "linux", "cpu": "none" }, "sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg=="], - "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.52.3", "", { "os": "linux", "cpu": "none" }, "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg=="], + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.52.4", "", { "os": "linux", "cpu": "none" }, "sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA=="], - "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.52.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg=="], + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.52.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA=="], - "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.52.3", "", { "os": "linux", "cpu": "x64" }, "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA=="], + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.52.4", "", { "os": "linux", "cpu": "x64" }, "sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg=="], - "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.52.3", "", { "os": "linux", "cpu": "x64" }, "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw=="], + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.52.4", "", { "os": "linux", "cpu": "x64" }, "sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw=="], - "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.52.3", "", { "os": "none", "cpu": "arm64" }, "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA=="], + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.52.4", "", { "os": "none", "cpu": "arm64" }, "sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA=="], - "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.52.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA=="], + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.52.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ=="], - "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.52.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g=="], + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.52.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw=="], - "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.52.3", "", { "os": "win32", "cpu": "x64" }, "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ=="], + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.52.4", "", { "os": "win32", "cpu": "x64" }, "sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ=="], - "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.52.3", "", { "os": "win32", "cpu": "x64" }, "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA=="], + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.52.4", "", { "os": "win32", "cpu": "x64" }, "sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w=="], "@selderee/plugin-htmlparser2": ["@selderee/plugin-htmlparser2@0.11.0", "", { "dependencies": { "domhandler": "^5.0.3", "selderee": "^0.11.0" } }, "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ=="], @@ -1421,7 +1426,7 @@ "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - "baseline-browser-mapping": ["baseline-browser-mapping@2.8.10", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-uLfgBi+7IBNay8ECBO2mVMGZAc1VgZWEChxm4lv+TobGdG82LnXMjuNGo/BSSZZL4UmkWhxEHP2f5ziLNwGWMA=="], + "baseline-browser-mapping": ["baseline-browser-mapping@2.8.11", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-i+sRXGhz4+QW8aACZ3+r1GAKMt0wlFpeA8M5rOQd0HEYw9zhDrlx9Wc8uQ0IdXakjJRthzglEwfB/yqIjO6iDg=="], "bcp-47": ["bcp-47@2.1.0", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w=="], @@ -1429,6 +1434,8 @@ "before-after-hook": ["before-after-hook@4.0.0", "", {}, "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ=="], + "bignumber.js": ["bignumber.js@9.3.1", "", {}, "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ=="], + "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], "bindings": ["bindings@1.5.0", "", { "dependencies": { "file-uri-to-path": "1.0.0" } }, "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="], @@ -1461,6 +1468,8 @@ "buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="], + "buffer-equal-constant-time": ["buffer-equal-constant-time@1.0.1", "", {}, "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="], + "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], "bun-types": ["bun-types@1.2.21", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-sa2Tj77Ijc/NTLS0/Odjq/qngmEPZfbfnOERi0KRUYhT9R8M4VBioWVmMWE5GrYbKMc+5lVybXygLdibHaqVqw=="], @@ -1493,11 +1502,11 @@ "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], - "caniuse-lite": ["caniuse-lite@1.0.30001746", "", {}, "sha512-eA7Ys/DGw+pnkWWSE/id29f2IcPHVoE8wxtvE5JdvD2V28VTDPy1yEeo11Guz0sJ4ZeGRcm3uaTcAqK1LXaphA=="], + "caniuse-lite": ["caniuse-lite@1.0.30001747", "", {}, "sha512-mzFa2DGIhuc5490Nd/G31xN1pnBnYMadtkyTjefPI7wzypqgCEpeWu9bJr0OnDsyKrW75zA9ZAt7pbQFmwLsQg=="], "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], - "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], @@ -1691,11 +1700,13 @@ "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + "ecdsa-sig-formatter": ["ecdsa-sig-formatter@1.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ=="], + "editorconfig": ["editorconfig@1.0.4", "", { "dependencies": { "@one-ini/wasm": "0.1.1", "commander": "^10.0.0", "minimatch": "9.0.1", "semver": "^7.5.3" }, "bin": { "editorconfig": "bin/editorconfig" } }, "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q=="], "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], - "electron-to-chromium": ["electron-to-chromium@1.5.228", "", {}, "sha512-nxkiyuqAn4MJ1QbobwqJILiDtu/jk14hEAWaMiJmNPh1Z+jqoFlBFZjdXwLWGeVSeu9hGLg6+2G9yJaW8rBIFA=="], + "electron-to-chromium": ["electron-to-chromium@1.5.230", "", {}, "sha512-A6A6Fd3+gMdaed9wX83CvHYJb4UuapPD5X5SLq72VZJzxHSY0/LUweGXRWmQlh2ln7KV7iw7jnwXK7dlPoOnHQ=="], "emoji-regex": ["emoji-regex@10.5.0", "", {}, "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg=="], @@ -1851,6 +1862,10 @@ "fuzzysort": ["fuzzysort@3.1.0", "", {}, "sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ=="], + "gaxios": ["gaxios@6.7.1", "", { "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^7.0.1", "is-stream": "^2.0.0", "node-fetch": "^2.6.9", "uuid": "^9.0.1" } }, "sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ=="], + + "gcp-metadata": ["gcp-metadata@6.1.1", "", { "dependencies": { "gaxios": "^6.1.1", "google-logging-utils": "^0.0.2", "json-bigint": "^1.0.0" } }, "sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A=="], + "gel": ["gel@2.1.1", "", { "dependencies": { "@petamoriken/float16": "^3.8.7", "debug": "^4.3.4", "env-paths": "^3.0.0", "semver": "^7.6.2", "shell-quote": "^1.8.1", "which": "^4.0.0" }, "bin": { "gel": "dist/cli.mjs" } }, "sha512-Newg9X7mRYskoBjSw70l1YnJ/ZGbq64VPyR821H5WVkTGpHG2O0mQILxCeUhxdYERLFY9B4tUyKLyf3uMTjtKw=="], "generate-function": ["generate-function@2.3.1", "", { "dependencies": { "is-property": "^1.0.2" } }, "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ=="], @@ -1891,12 +1906,18 @@ "globby": ["globby@11.0.4", "", { "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.1.1", "ignore": "^5.1.4", "merge2": "^1.3.0", "slash": "^3.0.0" } }, "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg=="], + "google-auth-library": ["google-auth-library@9.15.1", "", { "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", "gaxios": "^6.1.1", "gcp-metadata": "^6.1.0", "gtoken": "^7.0.0", "jws": "^4.0.0" } }, "sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng=="], + + "google-logging-utils": ["google-logging-utils@0.0.2", "", {}, "sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ=="], + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], "gray-matter": ["gray-matter@4.0.3", "", { "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" } }, "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q=="], + "gtoken": ["gtoken@7.1.0", "", { "dependencies": { "gaxios": "^6.0.0", "jws": "^4.0.0" } }, "sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw=="], + "gzip-size": ["gzip-size@7.0.0", "", { "dependencies": { "duplexer": "^0.1.2" } }, "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA=="], "h3": ["h3@1.15.3", "", { "dependencies": { "cookie-es": "^1.2.2", "crossws": "^0.3.4", "defu": "^6.1.4", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.0", "radix3": "^1.1.2", "ufo": "^1.6.1", "uncrypto": "^0.1.3" } }, "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ=="], @@ -2111,6 +2132,8 @@ "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + "json-bigint": ["json-bigint@1.0.0", "", { "dependencies": { "bignumber.js": "^9.0.0" } }, "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ=="], + "json-schema": ["json-schema@0.4.0", "", {}, "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="], "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], @@ -2121,6 +2144,10 @@ "jsonfile": ["jsonfile@6.2.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg=="], + "jwa": ["jwa@2.0.1", "", { "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg=="], + + "jws": ["jws@4.0.0", "", { "dependencies": { "jwa": "^2.0.0", "safe-buffer": "^5.0.1" } }, "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg=="], + "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="], @@ -2339,7 +2366,7 @@ "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], - "miniflare": ["miniflare@4.20250927.0", "", { "dependencies": { "@cspotcode/source-map-support": "0.8.1", "acorn": "8.14.0", "acorn-walk": "8.3.2", "exit-hook": "2.2.1", "glob-to-regexp": "0.4.1", "sharp": "^0.33.5", "stoppable": "1.1.0", "undici": "7.14.0", "workerd": "1.20250927.0", "ws": "8.18.0", "youch": "4.1.0-beta.10", "zod": "3.22.3" }, "bin": { "miniflare": "bootstrap.js" } }, "sha512-CP0Q9Ytipid/Q6fJ2gAsVJ3yIMdx1+GoivA+EON68/ZLt66QwUFtpFeqdOUOKDmMbf/NFzjsKsce6h/8KjjYXg=="], + "miniflare": ["miniflare@4.20251001.0", "", { "dependencies": { "@cspotcode/source-map-support": "0.8.1", "acorn": "8.14.0", "acorn-walk": "8.3.2", "exit-hook": "2.2.1", "glob-to-regexp": "0.4.1", "sharp": "^0.33.5", "stoppable": "1.1.0", "undici": "7.14.0", "workerd": "1.20251001.0", "ws": "8.18.0", "youch": "4.1.0-beta.10", "zod": "3.22.3" }, "bin": { "miniflare": "bootstrap.js" } }, "sha512-OHd31D2LT8JH+85nVXClV0Z18jxirCohzKNAcZs/fgt4mIkUDtidX3VqR3ovAM0jWooNxrFhB9NSs3iDbiJF7Q=="], "minimatch": ["minimatch@10.0.3", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw=="], @@ -2399,7 +2426,7 @@ "node-mock-http": ["node-mock-http@1.0.3", "", {}, "sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog=="], - "node-releases": ["node-releases@2.0.21", "", {}, "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw=="], + "node-releases": ["node-releases@2.0.23", "", {}, "sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg=="], "nopt": ["nopt@7.2.1", "", { "dependencies": { "abbrev": "^2.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w=="], @@ -2707,9 +2734,9 @@ "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], - "rollup": ["rollup@4.52.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.52.3", "@rollup/rollup-android-arm64": "4.52.3", "@rollup/rollup-darwin-arm64": "4.52.3", "@rollup/rollup-darwin-x64": "4.52.3", "@rollup/rollup-freebsd-arm64": "4.52.3", "@rollup/rollup-freebsd-x64": "4.52.3", "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", "@rollup/rollup-linux-arm-musleabihf": "4.52.3", "@rollup/rollup-linux-arm64-gnu": "4.52.3", "@rollup/rollup-linux-arm64-musl": "4.52.3", "@rollup/rollup-linux-loong64-gnu": "4.52.3", "@rollup/rollup-linux-ppc64-gnu": "4.52.3", "@rollup/rollup-linux-riscv64-gnu": "4.52.3", "@rollup/rollup-linux-riscv64-musl": "4.52.3", "@rollup/rollup-linux-s390x-gnu": "4.52.3", "@rollup/rollup-linux-x64-gnu": "4.52.3", "@rollup/rollup-linux-x64-musl": "4.52.3", "@rollup/rollup-openharmony-arm64": "4.52.3", "@rollup/rollup-win32-arm64-msvc": "4.52.3", "@rollup/rollup-win32-ia32-msvc": "4.52.3", "@rollup/rollup-win32-x64-gnu": "4.52.3", "@rollup/rollup-win32-x64-msvc": "4.52.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A=="], + "rollup": ["rollup@4.52.4", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.52.4", "@rollup/rollup-android-arm64": "4.52.4", "@rollup/rollup-darwin-arm64": "4.52.4", "@rollup/rollup-darwin-x64": "4.52.4", "@rollup/rollup-freebsd-arm64": "4.52.4", "@rollup/rollup-freebsd-x64": "4.52.4", "@rollup/rollup-linux-arm-gnueabihf": "4.52.4", "@rollup/rollup-linux-arm-musleabihf": "4.52.4", "@rollup/rollup-linux-arm64-gnu": "4.52.4", "@rollup/rollup-linux-arm64-musl": "4.52.4", "@rollup/rollup-linux-loong64-gnu": "4.52.4", "@rollup/rollup-linux-ppc64-gnu": "4.52.4", "@rollup/rollup-linux-riscv64-gnu": "4.52.4", "@rollup/rollup-linux-riscv64-musl": "4.52.4", "@rollup/rollup-linux-s390x-gnu": "4.52.4", "@rollup/rollup-linux-x64-gnu": "4.52.4", "@rollup/rollup-linux-x64-musl": "4.52.4", "@rollup/rollup-openharmony-arm64": "4.52.4", "@rollup/rollup-win32-arm64-msvc": "4.52.4", "@rollup/rollup-win32-ia32-msvc": "4.52.4", "@rollup/rollup-win32-x64-gnu": "4.52.4", "@rollup/rollup-win32-x64-msvc": "4.52.4", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ=="], - "rollup-plugin-visualizer": ["rollup-plugin-visualizer@6.0.3", "", { "dependencies": { "open": "^8.0.0", "picomatch": "^4.0.2", "source-map": "^0.7.4", "yargs": "^17.5.1" }, "peerDependencies": { "rolldown": "1.x || ^1.0.0-beta", "rollup": "2.x || 3.x || 4.x" }, "optionalPeers": ["rolldown", "rollup"], "bin": { "rollup-plugin-visualizer": "dist/bin/cli.js" } }, "sha512-ZU41GwrkDcCpVoffviuM9Clwjy5fcUxlz0oMoTXTYsK+tcIFzbdacnrr2n8TXcHxbGKKXtOdjxM2HUS4HjkwIw=="], + "rollup-plugin-visualizer": ["rollup-plugin-visualizer@6.0.4", "", { "dependencies": { "open": "^8.0.0", "picomatch": "^4.0.2", "source-map": "^0.7.4", "yargs": "^17.5.1" }, "peerDependencies": { "rolldown": "1.x || ^1.0.0-beta", "rollup": "2.x || 3.x || 4.x" }, "optionalPeers": ["rolldown", "rollup"], "bin": { "rollup-plugin-visualizer": "dist/bin/cli.js" } }, "sha512-q8Q7J/6YofkmaGW1sH/fPRAz37x/+pd7VBuaUU7lwvOS/YikuiiEU9jeb9PH8XHiq50XFrUsBbOxeAMYQ7KZkg=="], "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], @@ -2883,7 +2910,7 @@ "style-to-js": ["style-to-js@1.1.17", "", { "dependencies": { "style-to-object": "1.0.9" } }, "sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA=="], - "style-to-object": ["style-to-object@1.0.9", "", { "dependencies": { "inline-style-parser": "0.2.4" } }, "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw=="], + "style-to-object": ["style-to-object@1.0.11", "", { "dependencies": { "inline-style-parser": "0.2.4" } }, "sha512-5A560JmXr7wDyGLK12Nq/EYS38VkGlglVzkis1JEdbGWSnbQIEhZzTJhzURXN5/8WwwFCs/f/VVcmkTppbXLow=="], "sucrase": ["sucrase@3.35.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA=="], @@ -2897,7 +2924,7 @@ "tailwindcss": ["tailwindcss@4.1.11", "", {}, "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA=="], - "tapable": ["tapable@2.2.3", "", {}, "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg=="], + "tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="], "tar": ["tar@7.5.1", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g=="], @@ -3129,9 +3156,9 @@ "wordwrap": ["wordwrap@1.0.0", "", {}, "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="], - "workerd": ["workerd@1.20250927.0", "", { "optionalDependencies": { "@cloudflare/workerd-darwin-64": "1.20250927.0", "@cloudflare/workerd-darwin-arm64": "1.20250927.0", "@cloudflare/workerd-linux-64": "1.20250927.0", "@cloudflare/workerd-linux-arm64": "1.20250927.0", "@cloudflare/workerd-windows-64": "1.20250927.0" }, "bin": { "workerd": "bin/workerd" } }, "sha512-6kyAGPGYNvn5mbpCJJ48VebN7QGSrvU/WJXgd4EQz20PyqjJAxHcEGGAJ+0Da0u/ewrN1+6fuMKQ1ALLBPiTWg=="], + "workerd": ["workerd@1.20251001.0", "", { "optionalDependencies": { "@cloudflare/workerd-darwin-64": "1.20251001.0", "@cloudflare/workerd-darwin-arm64": "1.20251001.0", "@cloudflare/workerd-linux-64": "1.20251001.0", "@cloudflare/workerd-linux-arm64": "1.20251001.0", "@cloudflare/workerd-windows-64": "1.20251001.0" }, "bin": { "workerd": "bin/workerd" } }, "sha512-oT/K4YWNhmwpVmGeaHNmF7mLRfgjszlVr7lJtpS4jx5khmxmMzWZEEQRrJEpgzeHP6DOq9qWLPNT0bjMK7TchQ=="], - "wrangler": ["wrangler@4.40.3", "", { "dependencies": { "@cloudflare/kv-asset-handler": "0.4.0", "@cloudflare/unenv-preset": "2.7.5", "blake3-wasm": "2.1.5", "esbuild": "0.25.4", "miniflare": "4.20250927.0", "path-to-regexp": "6.3.0", "unenv": "2.0.0-rc.21", "workerd": "1.20250927.0" }, "optionalDependencies": { "fsevents": "~2.3.2" }, "peerDependencies": { "@cloudflare/workers-types": "^4.20250927.0" }, "optionalPeers": ["@cloudflare/workers-types"], "bin": { "wrangler": "bin/wrangler.js", "wrangler2": "bin/wrangler.js" } }, "sha512-Ltf/0EwyJ9yJeWuCCGHOZDrGGMfZhVECUsJRbeBt1JTV2g7Ebw6FYrXOJhFEEfj1Mr51Cbt3nYI07TMyfxhPwA=="], + "wrangler": ["wrangler@4.42.0", "", { "dependencies": { "@cloudflare/kv-asset-handler": "0.4.0", "@cloudflare/unenv-preset": "2.7.6", "blake3-wasm": "2.1.5", "esbuild": "0.25.4", "miniflare": "4.20251001.0", "path-to-regexp": "6.3.0", "unenv": "2.0.0-rc.21", "workerd": "1.20251001.0" }, "optionalDependencies": { "fsevents": "~2.3.2" }, "peerDependencies": { "@cloudflare/workers-types": "^4.20251001.0" }, "optionalPeers": ["@cloudflare/workers-types"], "bin": { "wrangler": "bin/wrangler.js", "wrangler2": "bin/wrangler.js" } }, "sha512-OZXiUSfGD66OVkncDbjZtqrsH6bWPRQMYc6RmMbkzYm/lEvJ8lvARKcqDgEyq8zDAgJAivlMQLyPtKQoVjQ/4g=="], "wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="], @@ -3191,7 +3218,13 @@ "@ai-sdk/gateway/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@3.0.1", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@standard-schema/spec": "^1.0.0", "eventsource-parser": "^3.0.3", "zod-to-json-schema": "^3.24.1" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-/iP1sKc6UdJgGH98OCly7sWJKv+J9G47PnTjIj40IJMUQKwDrUMyf7zOOfRtPwSuNifYhSoJQ4s1WltI65gJ/g=="], - "@astrojs/cloudflare/@cloudflare/workers-types": ["@cloudflare/workers-types@4.20251001.0", "", {}, "sha512-MXseDjmqL1hIdQCqwHDMG8SE60W4FdwqLsofZjo/KtLH9zFcoQfZkCYyQrdfEJINiSoNJjrup7WR6KsqiFUSsg=="], + "@ai-sdk/google/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@3.0.7", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@standard-schema/spec": "^1.0.0", "eventsource-parser": "^3.0.5" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-o3BS5/t8KnBL3ubP8k3w77AByOypLm+pkIL/DCw0qKkhDbvhCy+L3hRTGPikpdb8WHcylAeKsjgwOxhj4cqTUA=="], + + "@ai-sdk/google-vertex/@ai-sdk/anthropic": ["@ai-sdk/anthropic@2.0.9", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.7" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-1kQgL2A3PeqfEcHHmqy4NxRc8rbgLS71bHBuvDFfDz3VAAyndkilPMCLNDSP2mJVGAej2EMWJ1sShRAxzn70jA=="], + + "@ai-sdk/google-vertex/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@3.0.7", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@standard-schema/spec": "^1.0.0", "eventsource-parser": "^3.0.5" }, "peerDependencies": { "zod": "^3.25.76 || ^4" } }, "sha512-o3BS5/t8KnBL3ubP8k3w77AByOypLm+pkIL/DCw0qKkhDbvhCy+L3hRTGPikpdb8WHcylAeKsjgwOxhj4cqTUA=="], + + "@astrojs/cloudflare/@cloudflare/workers-types": ["@cloudflare/workers-types@4.20251004.0", "", {}, "sha512-FkTBHEyOBwphbW4SLQ2XLCgNntD2wz0v1Si7NwJeN0JAPW/39/w6zhsKy3rsh+203tuSfBgsoP34+Os4RaySOw=="], "@astrojs/markdown-remark/@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.6.1", "", {}, "sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A=="], @@ -3205,6 +3238,8 @@ "@aws-crypto/util/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], + "@babel/core/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], @@ -3213,14 +3248,16 @@ "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@babel/template/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + + "@babel/traverse/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + "@cloudflare/kv-asset-handler/mime": ["mime@3.0.0", "", { "bin": { "mime": "cli.js" } }, "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="], "@cloudflare/unenv-preset/unenv": ["unenv@2.0.0-rc.21", "", { "dependencies": { "defu": "^6.1.4", "exsolve": "^1.0.7", "ohash": "^2.0.11", "pathe": "^2.0.3", "ufo": "^1.6.1" } }, "sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A=="], "@cspotcode/source-map-support/@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.9", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="], - "@dot/log/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "@esbuild-kit/core-utils/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="], "@expressive-code/plugin-shiki/shiki": ["shiki@3.13.0", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/engine-javascript": "3.13.0", "@shikijs/engine-oniguruma": "3.13.0", "@shikijs/langs": "3.13.0", "@shikijs/themes": "3.13.0", "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g=="], @@ -3265,8 +3302,6 @@ "@jimp/types/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "@jsx-email/cli/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "@jsx-email/cli/esbuild": ["esbuild@0.19.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.19.12", "@esbuild/android-arm": "0.19.12", "@esbuild/android-arm64": "0.19.12", "@esbuild/android-x64": "0.19.12", "@esbuild/darwin-arm64": "0.19.12", "@esbuild/darwin-x64": "0.19.12", "@esbuild/freebsd-arm64": "0.19.12", "@esbuild/freebsd-x64": "0.19.12", "@esbuild/linux-arm": "0.19.12", "@esbuild/linux-arm64": "0.19.12", "@esbuild/linux-ia32": "0.19.12", "@esbuild/linux-loong64": "0.19.12", "@esbuild/linux-mips64el": "0.19.12", "@esbuild/linux-ppc64": "0.19.12", "@esbuild/linux-riscv64": "0.19.12", "@esbuild/linux-s390x": "0.19.12", "@esbuild/linux-x64": "0.19.12", "@esbuild/netbsd-x64": "0.19.12", "@esbuild/openbsd-x64": "0.19.12", "@esbuild/sunos-x64": "0.19.12", "@esbuild/win32-arm64": "0.19.12", "@esbuild/win32-ia32": "0.19.12", "@esbuild/win32-x64": "0.19.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg=="], "@jsx-email/cli/tailwindcss": ["tailwindcss@3.3.3", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.5.3", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.2.12", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.18.2", "lilconfig": "^2.1.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", "postcss": "^8.4.23", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.1", "postcss-nested": "^6.0.1", "postcss-selector-parser": "^6.0.11", "resolve": "^1.22.2", "sucrase": "^3.32.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w=="], @@ -3309,7 +3344,7 @@ "@openauthjs/openauth/jose": ["jose@5.9.6", "", {}, "sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ=="], - "@opencode/console-resource/@cloudflare/workers-types": ["@cloudflare/workers-types@4.20251001.0", "", {}, "sha512-MXseDjmqL1hIdQCqwHDMG8SE60W4FdwqLsofZjo/KtLH9zFcoQfZkCYyQrdfEJINiSoNJjrup7WR6KsqiFUSsg=="], + "@opencode/console-resource/@cloudflare/workers-types": ["@cloudflare/workers-types@4.20251004.0", "", {}, "sha512-FkTBHEyOBwphbW4SLQ2XLCgNntD2wz0v1Si7NwJeN0JAPW/39/w6zhsKy3rsh+203tuSfBgsoP34+Os4RaySOw=="], "@opencode/web/@shikijs/transformers": ["@shikijs/transformers@3.4.2", "", { "dependencies": { "@shikijs/core": "3.4.2", "@shikijs/types": "3.4.2" } }, "sha512-I5baLVi/ynLEOZoWSAMlACHNnG+yw5HDmse0oe+GW6U1u+ULdEB3UHiVWaHoJSSONV7tlcVxuaMy74sREDkSvg=="], @@ -3319,6 +3354,8 @@ "@opencode/web/shiki": ["shiki@3.4.2", "", { "dependencies": { "@shikijs/core": "3.4.2", "@shikijs/engine-javascript": "3.4.2", "@shikijs/engine-oniguruma": "3.4.2", "@shikijs/langs": "3.4.2", "@shikijs/themes": "3.4.2", "@shikijs/types": "3.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-wuxzZzQG8kvZndD7nustrNFIKYJ1jJoWIPaBpVe2+KHSvtzMi4SBjOxrigs8qeqce/l3U0cwiC+VAkLKSunHQQ=="], + "@opentui/solid/@babel/core": ["@babel/core@7.28.0", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.27.3", "@babel/helpers": "^7.27.6", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.0", "@babel/types": "^7.28.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ=="], + "@oslojs/jwt/@oslojs/encoding": ["@oslojs/encoding@0.4.1", "", {}, "sha512-hkjo6MuIK/kQR5CrGNdAPZhS01ZCXuWDRJ187zh6qqF2+yMHZpD9fAYpX8q2bOO6Ryhl3XpCT6kUX76N8hhm4Q=="], "@parcel/watcher/detect-libc": ["detect-libc@1.0.3", "", { "bin": { "detect-libc": "./bin/detect-libc.js" } }, "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="], @@ -3349,12 +3386,8 @@ "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@tanstack/directive-functions-plugin/@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], - "@tanstack/router-utils/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], - "@tanstack/server-functions-plugin/@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], - "@vercel/nft/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], "@vercel/nft/glob": ["glob@10.4.5", "", { "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" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], @@ -3395,6 +3428,8 @@ "body-parser/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + "boxen/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + "compress-commons/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], "condense-newlines/kind-of": ["kind-of@3.2.2", "", { "dependencies": { "is-buffer": "^1.1.5" } }, "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="], @@ -3411,8 +3446,6 @@ "editorconfig/minimatch": ["minimatch@9.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w=="], - "esbuild-plugin-copy/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "esbuild-plugin-copy/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], "estree-util-to-js/source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], @@ -3427,6 +3460,10 @@ "fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], + "gaxios/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], + + "gaxios/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], + "giget/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], "giget/tar": ["tar@6.2.1", "", { "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A=="], @@ -3573,6 +3610,8 @@ "strip-literal/js-tokens": ["js-tokens@9.0.1", "", {}, "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ=="], + "style-to-js/style-to-object": ["style-to-object@1.0.9", "", { "dependencies": { "inline-style-parser": "0.2.4" } }, "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw=="], + "sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], "sucrase/glob": ["glob@10.4.5", "", { "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" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], @@ -3619,6 +3658,8 @@ "vinxi/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "vite-plugin-icons-spritesheet/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + "wrangler/esbuild": ["esbuild@0.25.4", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.4", "@esbuild/android-arm": "0.25.4", "@esbuild/android-arm64": "0.25.4", "@esbuild/android-x64": "0.25.4", "@esbuild/darwin-arm64": "0.25.4", "@esbuild/darwin-x64": "0.25.4", "@esbuild/freebsd-arm64": "0.25.4", "@esbuild/freebsd-x64": "0.25.4", "@esbuild/linux-arm": "0.25.4", "@esbuild/linux-arm64": "0.25.4", "@esbuild/linux-ia32": "0.25.4", "@esbuild/linux-loong64": "0.25.4", "@esbuild/linux-mips64el": "0.25.4", "@esbuild/linux-ppc64": "0.25.4", "@esbuild/linux-riscv64": "0.25.4", "@esbuild/linux-s390x": "0.25.4", "@esbuild/linux-x64": "0.25.4", "@esbuild/netbsd-arm64": "0.25.4", "@esbuild/netbsd-x64": "0.25.4", "@esbuild/openbsd-arm64": "0.25.4", "@esbuild/openbsd-x64": "0.25.4", "@esbuild/sunos-x64": "0.25.4", "@esbuild/win32-arm64": "0.25.4", "@esbuild/win32-ia32": "0.25.4", "@esbuild/win32-x64": "0.25.4" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q=="], "wrangler/unenv": ["unenv@2.0.0-rc.21", "", { "dependencies": { "defu": "^6.1.4", "exsolve": "^1.0.7", "ohash": "^2.0.11", "pathe": "^2.0.3", "ufo": "^1.6.1" } }, "sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A=="], @@ -3629,6 +3670,8 @@ "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "xml2js/sax": ["sax@1.4.1", "", {}, "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="], + "yargs/yargs-parser": ["yargs-parser@22.0.0", "", {}, "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw=="], "zod-to-json-schema/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], @@ -3809,6 +3852,10 @@ "@opencode/web/shiki/@shikijs/types": ["@shikijs/types@3.4.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-zHC1l7L+eQlDXLnxvM9R91Efh2V4+rN3oMVS2swCBssbj2U/FBwybD1eeLaq8yl/iwT+zih8iUbTBCgGZOYlVg=="], + "@opentui/solid/@babel/core/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + + "@opentui/solid/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@solidjs/start/shiki/@shikijs/core": ["@shikijs/core@1.29.2", "", { "dependencies": { "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ=="], "@solidjs/start/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "^2.2.0" } }, "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A=="], @@ -3943,6 +3990,8 @@ "opencontrol/@modelcontextprotocol/sdk/zod-to-json-schema": ["zod-to-json-schema@3.24.5", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g=="], + "parse-bmfont-xml/xml2js/sax": ["sax@1.4.1", "", {}, "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="], + "pkg-up/find-up/locate-path": ["locate-path@3.0.0", "", { "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="], "prebuild-install/tar-fs/chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="], diff --git a/infra/desktop.ts b/infra/desktop.ts index 5c4155cc9..d4e32c65d 100644 --- a/infra/desktop.ts +++ b/infra/desktop.ts @@ -2,7 +2,7 @@ import { domain } from "./stage" new sst.cloudflare.StaticSite("Desktop", { domain: "desktop." + domain, - path: "packages/app", + path: "packages/desktop", build: { command: "bun turbo build", output: "./dist", diff --git a/infra/stage.ts b/infra/stage.ts index 7ec91e9ac..729422905 100644 --- a/infra/stage.ts +++ b/infra/stage.ts @@ -6,8 +6,8 @@ export const domain = (() => { export const zoneID = "430ba34c138cfb5360826c4909f99be8" -// new cloudflare.RegionalHostname("RegionalHostname", { -// hostname: domain, -// regionKey: "us", -// zoneId: zoneID, -// }) +new cloudflare.RegionalHostname("RegionalHostname", { + hostname: domain, + regionKey: "us", + zoneId: zoneID, +}) diff --git a/packages/console/app/package.json b/packages/console/app/package.json index 3b13051b7..f4a31f8d1 100644 --- a/packages/console/app/package.json +++ b/packages/console/app/package.json @@ -7,7 +7,7 @@ "dev:remote": "VITE_AUTH_URL=https://auth.dev.opencode.ai bun sst shell --stage=dev bun dev", "build": "vinxi build && ../../opencode/script/schema.ts ./.output/public/config.json", "start": "vinxi start", - "version": "0.14.0" + "version": "0.14.1" }, "dependencies": { "@ibm/plex": "6.4.1", diff --git a/packages/console/app/src/entry-server.tsx b/packages/console/app/src/entry-server.tsx index e05133147..d5fca6aa5 100644 --- a/packages/console/app/src/entry-server.tsx +++ b/packages/console/app/src/entry-server.tsx @@ -9,7 +9,7 @@ export default createHandler( - + {assets} diff --git a/packages/console/app/src/lib/github.ts b/packages/console/app/src/lib/github.ts index 49b926463..5f742aef6 100644 --- a/packages/console/app/src/lib/github.ts +++ b/packages/console/app/src/lib/github.ts @@ -2,11 +2,15 @@ import { query } from "@solidjs/router" export const github = query(async () => { "use server" + const headers = { + "User-Agent": + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", + } try { const [meta, releases, contributors] = await Promise.all([ - fetch("https://api.github.com/repos/sst/opencode").then((res) => res.json()), - fetch("https://api.github.com/repos/sst/opencode/releases").then((res) => res.json()), - fetch("https://api.github.com/repos/sst/opencode/contributors?per_page=1"), + fetch("https://api.github.com/repos/sst/opencode", { headers }).then((res) => res.json()), + fetch("https://api.github.com/repos/sst/opencode/releases", { headers }).then((res) => res.json()), + fetch("https://api.github.com/repos/sst/opencode/contributors?per_page=1", { headers }), ]) const [release] = releases const contributorCount = Number.parseInt( @@ -23,6 +27,8 @@ export const github = query(async () => { }, contributors: contributorCount, } - } catch {} + } catch (e) { + console.error(e) + } return undefined }, "github") diff --git a/packages/console/app/src/routes/index.tsx b/packages/console/app/src/routes/index.tsx index 281cec099..d51e9ec18 100644 --- a/packages/console/app/src/routes/index.tsx +++ b/packages/console/app/src/routes/index.tsx @@ -4,10 +4,7 @@ import { HttpHeader } from "@solidjs/start" import video from "../asset/lander/opencode-min.mp4" import videoPoster from "../asset/lander/opencode-poster.png" import { IconCopy, IconCheck } from "../component/icon" -import { A, createAsync, query } from "@solidjs/router" -import { getActor } from "~/context/auth" -import { withActor } from "~/context/auth.withActor" -import { Account } from "@opencode/console-core/account.js" +import { A, createAsync } from "@solidjs/router" import { EmailSignup } from "~/component/email-signup" import { Tabs } from "@kobalte/core/tabs" import { Faq } from "~/component/faq" @@ -26,18 +23,8 @@ function CopyStatus() { ) } -const defaultWorkspace = query(async () => { - "use server" - const actor = await getActor() - if (actor.type === "account") { - const workspaces = await withActor(() => Account.workspaces()) - return workspaces[0].id - } -}, "defaultWorkspace") - export default function Home() { const githubData = createAsync(() => github()) - const workspace = createAsync(() => defaultWorkspace()) const release = createMemo(() => githubData()?.release) const handleCopyClick = (event: Event) => { diff --git a/packages/console/app/src/routes/temp.tsx b/packages/console/app/src/routes/temp.tsx index 3d663c27e..379f79f7a 100644 --- a/packages/console/app/src/routes/temp.tsx +++ b/packages/console/app/src/routes/temp.tsx @@ -5,10 +5,6 @@ import logoLight from "../asset/logo-ornate-light.svg" import logoDark from "../asset/logo-ornate-dark.svg" import IMG_SPLASH from "../asset/lander/screenshot-splash.png" import { IconCopy, IconCheck } from "../component/icon" -import { createAsync, query } from "@solidjs/router" -import { getActor } from "~/context/auth" -import { withActor } from "~/context/auth.withActor" -import { Account } from "@opencode/console-core/account.js" function CopyStatus() { return ( @@ -19,17 +15,7 @@ function CopyStatus() { ) } -const defaultWorkspace = query(async () => { - "use server" - const actor = await getActor() - if (actor.type === "account") { - const workspaces = await withActor(() => Account.workspaces()) - return workspaces[0].id - } -}, "defaultWorkspace") - export default function Home() { - const workspace = createAsync(() => defaultWorkspace()) onMount(() => { const commands = document.querySelectorAll("[data-copy]") for (const button of commands) { diff --git a/packages/console/app/src/routes/workspace.tsx b/packages/console/app/src/routes/workspace.tsx index 9a90fb9a9..097e451b2 100644 --- a/packages/console/app/src/routes/workspace.tsx +++ b/packages/console/app/src/routes/workspace.tsx @@ -2,17 +2,7 @@ import "./workspace.css" import { useAuthSession } from "~/context/auth.session" import { IconLogo } from "../component/icon" import { withActor } from "~/context/auth.withActor" -import { - query, - action, - redirect, - createAsync, - RouteSectionProps, - Navigate, - useNavigate, - useParams, - A, -} from "@solidjs/router" +import { query, action, redirect, createAsync, RouteSectionProps, useParams, A } from "@solidjs/router" import { User } from "@opencode/console-core/user.js" import { Actor } from "@opencode/console-core/actor.js" import { getRequestEvent } from "solid-js/web" @@ -21,7 +11,8 @@ const getUserInfo = query(async (workspaceID: string) => { "use server" return withActor(async () => { const actor = Actor.assert("user") - return await User.fromID(actor.properties.userID) + const email = await User.getAccountEmail(actor.properties.userID) + return { email } }, workspaceID) }, "userInfo") diff --git a/packages/console/app/src/routes/workspace/[id].tsx b/packages/console/app/src/routes/workspace/[id].tsx index ad1f47bd4..6266558c5 100644 --- a/packages/console/app/src/routes/workspace/[id].tsx +++ b/packages/console/app/src/routes/workspace/[id].tsx @@ -11,13 +11,17 @@ import { createAsync, query, useParams } from "@solidjs/router" import { Actor } from "@opencode/console-core/actor.js" import { withActor } from "~/context/auth.withActor" import { User } from "@opencode/console-core/user.js" +import { Resource } from "@opencode/console-resource" const getUser = query(async (workspaceID: string) => { "use server" return withActor(async () => { const actor = Actor.assert("user") const user = await User.fromID(actor.properties.userID) - return { isAdmin: user?.role === "admin" } + return { + isAdmin: user?.role === "admin", + isBeta: Resource.App.stage === "production" ? workspaceID === "wrk_01K46JDFR0E75SG2Q8K172KF3Y" : true, + } }, workspaceID) }, "user.get") @@ -41,7 +45,7 @@ export default function () { - + @@ -55,11 +59,3 @@ export default function () { ) } - -export function isBeta(workspaceID: string) { - return [ - "wrk_01K46JDFR0E75SG2Q8K172KF3Y", // production - "wrk_01K4NFRR5P7FSYWH88307B4DDS", // dev - "wrk_01K6G7HBZ7C046A4XK01CVD0NS", // frank - ].includes(workspaceID) -} diff --git a/packages/console/app/src/routes/workspace/key-section.tsx b/packages/console/app/src/routes/workspace/key-section.tsx index a2bd380ea..d49a9c0bd 100644 --- a/packages/console/app/src/routes/workspace/key-section.tsx +++ b/packages/console/app/src/routes/workspace/key-section.tsx @@ -6,6 +6,7 @@ import { withActor } from "~/context/auth.withActor" import { createStore } from "solid-js/store" import { formatDateUTC, formatDateForTable } from "./common" import styles from "./key-section.module.css" +import { Actor } from "@opencode/console-core/actor.js" const removeKey = action(async (form: FormData) => { "use server" @@ -25,7 +26,10 @@ const createKey = action(async (form: FormData) => { return json( await withActor( () => - Key.create({ name }) + Key.create({ + userID: Actor.assert("user").properties.userID, + name, + }) .then((data) => ({ error: undefined, data })) .catch((e) => ({ error: e.message as string })), workspaceID, diff --git a/packages/console/app/src/routes/zen/index.tsx b/packages/console/app/src/routes/zen/index.tsx index 57cca2e2b..05c523235 100644 --- a/packages/console/app/src/routes/zen/index.tsx +++ b/packages/console/app/src/routes/zen/index.tsx @@ -10,28 +10,13 @@ import avatarJay from "../../asset/lander/avatar-jay.png" import avatarFrank from "../../asset/lander/avatar-frank.png" import avatarAdam from "../../asset/lander/avatar-adam.png" import avatarDavid from "../../asset/lander/avatar-david.png" -import { A, createAsync, query } from "@solidjs/router" -import { getActor } from "~/context/auth" -import { withActor } from "~/context/auth.withActor" -import { Account } from "@opencode/console-core/account.js" import { EmailSignup } from "~/component/email-signup" import { Faq } from "~/component/faq" import { Legal } from "~/component/legal" import { Footer } from "~/component/footer" import { Header } from "~/component/header" -const defaultWorkspace = query(async () => { - "use server" - const actor = await getActor() - if (actor.type === "account") { - const workspaces = await withActor(() => Account.workspaces()) - return workspaces[0].id - } -}, "defaultWorkspace") - export default function Home() { - const workspace = createAsync(() => defaultWorkspace()) - return (
@@ -146,7 +131,8 @@ export default function Home() {

What problem is Zen solving?

- There are so many models available, but only a few work well with coding agents. Most providers configure them differently with varying results. + There are so many models available, but only a few work well with coding agents. Most providers + configure them differently with varying results.

We're fixing this for everyone, not just OpenCode users.

@@ -216,8 +202,8 @@ export default function Home() { Dax Raad ex-CEO, Terminal Products -
@OpenCode Zen has been life - changing, it's truly a no-brainer. +
+ @OpenCode Zen has been life changing, it's truly a no-brainer.
diff --git a/packages/console/core/migrations/0023_optimal_paibok.sql b/packages/console/core/migrations/0023_optimal_paibok.sql new file mode 100644 index 000000000..93e78489f --- /dev/null +++ b/packages/console/core/migrations/0023_optimal_paibok.sql @@ -0,0 +1,2 @@ +CREATE INDEX `global_account_id` ON `user` (`account_id`);--> statement-breakpoint +CREATE INDEX `global_email` ON `user` (`email`); \ No newline at end of file diff --git a/packages/console/core/migrations/0024_early_black_crow.sql b/packages/console/core/migrations/0024_early_black_crow.sql new file mode 100644 index 000000000..903c32bda --- /dev/null +++ b/packages/console/core/migrations/0024_early_black_crow.sql @@ -0,0 +1,2 @@ +ALTER TABLE `user` DROP COLUMN `old_account_id`;--> statement-breakpoint +ALTER TABLE `user` DROP COLUMN `old_email`; \ No newline at end of file diff --git a/packages/console/core/migrations/0025_legal_joseph.sql b/packages/console/core/migrations/0025_legal_joseph.sql new file mode 100644 index 000000000..dcf4773de --- /dev/null +++ b/packages/console/core/migrations/0025_legal_joseph.sql @@ -0,0 +1 @@ +ALTER TABLE `key` ADD `user_id` varchar(30); \ No newline at end of file diff --git a/packages/console/core/migrations/0026_numerous_prodigy.sql b/packages/console/core/migrations/0026_numerous_prodigy.sql new file mode 100644 index 000000000..d90e747c1 --- /dev/null +++ b/packages/console/core/migrations/0026_numerous_prodigy.sql @@ -0,0 +1 @@ +ALTER TABLE `key` DROP INDEX `name`; \ No newline at end of file diff --git a/packages/console/core/migrations/0027_hot_wong.sql b/packages/console/core/migrations/0027_hot_wong.sql new file mode 100644 index 000000000..ff97d344f --- /dev/null +++ b/packages/console/core/migrations/0027_hot_wong.sql @@ -0,0 +1,3 @@ +ALTER TABLE `key` MODIFY COLUMN `user_id` varchar(30) NOT NULL;--> statement-breakpoint +ALTER TABLE `key` DROP COLUMN `actor`;--> statement-breakpoint +ALTER TABLE `key` DROP COLUMN `old_name`; \ No newline at end of file diff --git a/packages/console/core/migrations/meta/0023_snapshot.json b/packages/console/core/migrations/meta/0023_snapshot.json new file mode 100644 index 000000000..8a40e42a4 --- /dev/null +++ b/packages/console/core/migrations/meta/0023_snapshot.json @@ -0,0 +1,738 @@ +{ + "version": "5", + "dialect": "mysql", + "id": "6857f409-1b5d-4752-9d65-a82ee70e6ad2", + "prevId": "2296e9e4-bee6-485b-a146-6666ac8dc0d0", + "tables": { + "account": { + "name": "account", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "email": { + "name": "email", + "columns": [ + "email" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "billing": { + "name": "billing", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_id": { + "name": "payment_method_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_last4": { + "name": "payment_method_last4", + "type": "varchar(4)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "balance": { + "name": "balance", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "monthly_limit": { + "name": "monthly_limit", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "monthly_usage": { + "name": "monthly_usage", + "type": "bigint", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_monthly_usage_updated": { + "name": "time_monthly_usage_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload": { + "name": "reload", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload_error": { + "name": "reload_error", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_error": { + "name": "time_reload_error", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_locked_till": { + "name": "time_reload_locked_till", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_customer_id": { + "name": "global_customer_id", + "columns": [ + "customer_id" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "billing_workspace_id_id_pk": { + "name": "billing_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "payment": { + "name": "payment", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "invoice_id": { + "name": "invoice_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_id": { + "name": "payment_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "amount": { + "name": "amount", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_refunded": { + "name": "time_refunded", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "payment_workspace_id_id_pk": { + "name": "payment_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "usage": { + "name": "usage", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "model": { + "name": "model", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "input_tokens": { + "name": "input_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "output_tokens": { + "name": "output_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "reasoning_tokens": { + "name": "reasoning_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_read_tokens": { + "name": "cache_read_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_5m_tokens": { + "name": "cache_write_5m_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_1h_tokens": { + "name": "cache_write_1h_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cost": { + "name": "cost", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "usage_workspace_id_id_pk": { + "name": "usage_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "key": { + "name": "key", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "actor": { + "name": "actor", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "old_name": { + "name": "old_name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "key": { + "name": "key", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_used": { + "name": "time_used", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_key": { + "name": "global_key", + "columns": [ + "key" + ], + "isUnique": true + }, + "name": { + "name": "name", + "columns": [ + "workspace_id", + "name" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "key_workspace_id_id_pk": { + "name": "key_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "account_id": { + "name": "account_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "old_account_id": { + "name": "old_account_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "old_email": { + "name": "old_email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_seen": { + "name": "time_seen", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color": { + "name": "color", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "enum('admin','member')", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_account_id": { + "name": "user_account_id", + "columns": [ + "workspace_id", + "account_id" + ], + "isUnique": true + }, + "user_email": { + "name": "user_email", + "columns": [ + "workspace_id", + "email" + ], + "isUnique": true + }, + "global_account_id": { + "name": "global_account_id", + "columns": [ + "account_id" + ], + "isUnique": false + }, + "global_email": { + "name": "global_email", + "columns": [ + "email" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "user_workspace_id_id_pk": { + "name": "user_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "workspace": { + "name": "workspace", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "slug": { + "name": "slug", + "columns": [ + "slug" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "workspace_id": { + "name": "workspace_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + } + }, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "tables": {}, + "indexes": {} + } +} \ No newline at end of file diff --git a/packages/console/core/migrations/meta/0024_snapshot.json b/packages/console/core/migrations/meta/0024_snapshot.json new file mode 100644 index 000000000..4f50945d6 --- /dev/null +++ b/packages/console/core/migrations/meta/0024_snapshot.json @@ -0,0 +1,724 @@ +{ + "version": "5", + "dialect": "mysql", + "id": "6d546f3e-17b2-4195-bb10-7e6d91774bd7", + "prevId": "6857f409-1b5d-4752-9d65-a82ee70e6ad2", + "tables": { + "account": { + "name": "account", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "email": { + "name": "email", + "columns": [ + "email" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "billing": { + "name": "billing", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_id": { + "name": "payment_method_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_last4": { + "name": "payment_method_last4", + "type": "varchar(4)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "balance": { + "name": "balance", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "monthly_limit": { + "name": "monthly_limit", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "monthly_usage": { + "name": "monthly_usage", + "type": "bigint", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_monthly_usage_updated": { + "name": "time_monthly_usage_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload": { + "name": "reload", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload_error": { + "name": "reload_error", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_error": { + "name": "time_reload_error", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_locked_till": { + "name": "time_reload_locked_till", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_customer_id": { + "name": "global_customer_id", + "columns": [ + "customer_id" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "billing_workspace_id_id_pk": { + "name": "billing_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "payment": { + "name": "payment", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "invoice_id": { + "name": "invoice_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_id": { + "name": "payment_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "amount": { + "name": "amount", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_refunded": { + "name": "time_refunded", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "payment_workspace_id_id_pk": { + "name": "payment_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "usage": { + "name": "usage", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "model": { + "name": "model", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "input_tokens": { + "name": "input_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "output_tokens": { + "name": "output_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "reasoning_tokens": { + "name": "reasoning_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_read_tokens": { + "name": "cache_read_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_5m_tokens": { + "name": "cache_write_5m_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_1h_tokens": { + "name": "cache_write_1h_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cost": { + "name": "cost", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "usage_workspace_id_id_pk": { + "name": "usage_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "key": { + "name": "key", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "actor": { + "name": "actor", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "old_name": { + "name": "old_name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "key": { + "name": "key", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_used": { + "name": "time_used", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_key": { + "name": "global_key", + "columns": [ + "key" + ], + "isUnique": true + }, + "name": { + "name": "name", + "columns": [ + "workspace_id", + "name" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "key_workspace_id_id_pk": { + "name": "key_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "account_id": { + "name": "account_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_seen": { + "name": "time_seen", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color": { + "name": "color", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "enum('admin','member')", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_account_id": { + "name": "user_account_id", + "columns": [ + "workspace_id", + "account_id" + ], + "isUnique": true + }, + "user_email": { + "name": "user_email", + "columns": [ + "workspace_id", + "email" + ], + "isUnique": true + }, + "global_account_id": { + "name": "global_account_id", + "columns": [ + "account_id" + ], + "isUnique": false + }, + "global_email": { + "name": "global_email", + "columns": [ + "email" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "user_workspace_id_id_pk": { + "name": "user_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "workspace": { + "name": "workspace", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "slug": { + "name": "slug", + "columns": [ + "slug" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "workspace_id": { + "name": "workspace_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + } + }, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "tables": {}, + "indexes": {} + } +} \ No newline at end of file diff --git a/packages/console/core/migrations/meta/0025_snapshot.json b/packages/console/core/migrations/meta/0025_snapshot.json new file mode 100644 index 000000000..4b0cef0c0 --- /dev/null +++ b/packages/console/core/migrations/meta/0025_snapshot.json @@ -0,0 +1,731 @@ +{ + "version": "5", + "dialect": "mysql", + "id": "ce444765-0606-4880-970a-2176bc2a78ac", + "prevId": "6d546f3e-17b2-4195-bb10-7e6d91774bd7", + "tables": { + "account": { + "name": "account", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "email": { + "name": "email", + "columns": [ + "email" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "billing": { + "name": "billing", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_id": { + "name": "payment_method_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_last4": { + "name": "payment_method_last4", + "type": "varchar(4)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "balance": { + "name": "balance", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "monthly_limit": { + "name": "monthly_limit", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "monthly_usage": { + "name": "monthly_usage", + "type": "bigint", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_monthly_usage_updated": { + "name": "time_monthly_usage_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload": { + "name": "reload", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload_error": { + "name": "reload_error", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_error": { + "name": "time_reload_error", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_locked_till": { + "name": "time_reload_locked_till", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_customer_id": { + "name": "global_customer_id", + "columns": [ + "customer_id" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "billing_workspace_id_id_pk": { + "name": "billing_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "payment": { + "name": "payment", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "invoice_id": { + "name": "invoice_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_id": { + "name": "payment_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "amount": { + "name": "amount", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_refunded": { + "name": "time_refunded", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "payment_workspace_id_id_pk": { + "name": "payment_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "usage": { + "name": "usage", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "model": { + "name": "model", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "input_tokens": { + "name": "input_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "output_tokens": { + "name": "output_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "reasoning_tokens": { + "name": "reasoning_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_read_tokens": { + "name": "cache_read_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_5m_tokens": { + "name": "cache_write_5m_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_1h_tokens": { + "name": "cache_write_1h_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cost": { + "name": "cost", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "usage_workspace_id_id_pk": { + "name": "usage_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "key": { + "name": "key", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "actor": { + "name": "actor", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "old_name": { + "name": "old_name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "key": { + "name": "key", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_used": { + "name": "time_used", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_key": { + "name": "global_key", + "columns": [ + "key" + ], + "isUnique": true + }, + "name": { + "name": "name", + "columns": [ + "workspace_id", + "name" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "key_workspace_id_id_pk": { + "name": "key_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "account_id": { + "name": "account_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_seen": { + "name": "time_seen", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color": { + "name": "color", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "enum('admin','member')", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_account_id": { + "name": "user_account_id", + "columns": [ + "workspace_id", + "account_id" + ], + "isUnique": true + }, + "user_email": { + "name": "user_email", + "columns": [ + "workspace_id", + "email" + ], + "isUnique": true + }, + "global_account_id": { + "name": "global_account_id", + "columns": [ + "account_id" + ], + "isUnique": false + }, + "global_email": { + "name": "global_email", + "columns": [ + "email" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "user_workspace_id_id_pk": { + "name": "user_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "workspace": { + "name": "workspace", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "slug": { + "name": "slug", + "columns": [ + "slug" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "workspace_id": { + "name": "workspace_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + } + }, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "tables": {}, + "indexes": {} + } +} \ No newline at end of file diff --git a/packages/console/core/migrations/meta/0026_snapshot.json b/packages/console/core/migrations/meta/0026_snapshot.json new file mode 100644 index 000000000..543ab44c3 --- /dev/null +++ b/packages/console/core/migrations/meta/0026_snapshot.json @@ -0,0 +1,723 @@ +{ + "version": "5", + "dialect": "mysql", + "id": "9e1313c7-ca78-4d2c-b13b-625d9d6fcaa3", + "prevId": "ce444765-0606-4880-970a-2176bc2a78ac", + "tables": { + "account": { + "name": "account", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "email": { + "name": "email", + "columns": [ + "email" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "billing": { + "name": "billing", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_id": { + "name": "payment_method_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_last4": { + "name": "payment_method_last4", + "type": "varchar(4)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "balance": { + "name": "balance", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "monthly_limit": { + "name": "monthly_limit", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "monthly_usage": { + "name": "monthly_usage", + "type": "bigint", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_monthly_usage_updated": { + "name": "time_monthly_usage_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload": { + "name": "reload", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload_error": { + "name": "reload_error", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_error": { + "name": "time_reload_error", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_locked_till": { + "name": "time_reload_locked_till", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_customer_id": { + "name": "global_customer_id", + "columns": [ + "customer_id" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "billing_workspace_id_id_pk": { + "name": "billing_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "payment": { + "name": "payment", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "invoice_id": { + "name": "invoice_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_id": { + "name": "payment_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "amount": { + "name": "amount", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_refunded": { + "name": "time_refunded", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "payment_workspace_id_id_pk": { + "name": "payment_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "usage": { + "name": "usage", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "model": { + "name": "model", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "input_tokens": { + "name": "input_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "output_tokens": { + "name": "output_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "reasoning_tokens": { + "name": "reasoning_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_read_tokens": { + "name": "cache_read_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_5m_tokens": { + "name": "cache_write_5m_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_1h_tokens": { + "name": "cache_write_1h_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cost": { + "name": "cost", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "usage_workspace_id_id_pk": { + "name": "usage_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "key": { + "name": "key", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "actor": { + "name": "actor", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "old_name": { + "name": "old_name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "key": { + "name": "key", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_used": { + "name": "time_used", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_key": { + "name": "global_key", + "columns": [ + "key" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "key_workspace_id_id_pk": { + "name": "key_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "account_id": { + "name": "account_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_seen": { + "name": "time_seen", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color": { + "name": "color", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "enum('admin','member')", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_account_id": { + "name": "user_account_id", + "columns": [ + "workspace_id", + "account_id" + ], + "isUnique": true + }, + "user_email": { + "name": "user_email", + "columns": [ + "workspace_id", + "email" + ], + "isUnique": true + }, + "global_account_id": { + "name": "global_account_id", + "columns": [ + "account_id" + ], + "isUnique": false + }, + "global_email": { + "name": "global_email", + "columns": [ + "email" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "user_workspace_id_id_pk": { + "name": "user_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "workspace": { + "name": "workspace", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "slug": { + "name": "slug", + "columns": [ + "slug" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "workspace_id": { + "name": "workspace_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + } + }, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "tables": {}, + "indexes": {} + } +} \ No newline at end of file diff --git a/packages/console/core/migrations/meta/0027_snapshot.json b/packages/console/core/migrations/meta/0027_snapshot.json new file mode 100644 index 000000000..9b6910223 --- /dev/null +++ b/packages/console/core/migrations/meta/0027_snapshot.json @@ -0,0 +1,709 @@ +{ + "version": "5", + "dialect": "mysql", + "id": "05e873f6-1556-4bcb-8e19-14971e37610a", + "prevId": "9e1313c7-ca78-4d2c-b13b-625d9d6fcaa3", + "tables": { + "account": { + "name": "account", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "email": { + "name": "email", + "columns": [ + "email" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "billing": { + "name": "billing", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_id": { + "name": "payment_method_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_method_last4": { + "name": "payment_method_last4", + "type": "varchar(4)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "balance": { + "name": "balance", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "monthly_limit": { + "name": "monthly_limit", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "monthly_usage": { + "name": "monthly_usage", + "type": "bigint", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_monthly_usage_updated": { + "name": "time_monthly_usage_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload": { + "name": "reload", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "reload_error": { + "name": "reload_error", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_error": { + "name": "time_reload_error", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_reload_locked_till": { + "name": "time_reload_locked_till", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_customer_id": { + "name": "global_customer_id", + "columns": [ + "customer_id" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "billing_workspace_id_id_pk": { + "name": "billing_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "payment": { + "name": "payment", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "customer_id": { + "name": "customer_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "invoice_id": { + "name": "invoice_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "payment_id": { + "name": "payment_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "amount": { + "name": "amount", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_refunded": { + "name": "time_refunded", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "payment_workspace_id_id_pk": { + "name": "payment_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "usage": { + "name": "usage", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "model": { + "name": "model", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "input_tokens": { + "name": "input_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "output_tokens": { + "name": "output_tokens", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "reasoning_tokens": { + "name": "reasoning_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_read_tokens": { + "name": "cache_read_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_5m_tokens": { + "name": "cache_write_5m_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cache_write_1h_tokens": { + "name": "cache_write_1h_tokens", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cost": { + "name": "cost", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "usage_workspace_id_id_pk": { + "name": "usage_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "key": { + "name": "key", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "key": { + "name": "key", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_used": { + "name": "time_used", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "global_key": { + "name": "global_key", + "columns": [ + "key" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "key_workspace_id_id_pk": { + "name": "key_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "account_id": { + "name": "account_id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "time_seen": { + "name": "time_seen", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color": { + "name": "color", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "enum('admin','member')", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_account_id": { + "name": "user_account_id", + "columns": [ + "workspace_id", + "account_id" + ], + "isUnique": true + }, + "user_email": { + "name": "user_email", + "columns": [ + "workspace_id", + "email" + ], + "isUnique": true + }, + "global_account_id": { + "name": "global_account_id", + "columns": [ + "account_id" + ], + "isUnique": false + }, + "global_email": { + "name": "global_email", + "columns": [ + "email" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "user_workspace_id_id_pk": { + "name": "user_workspace_id_id_pk", + "columns": [ + "workspace_id", + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "workspace": { + "name": "workspace", + "columns": { + "id": { + "name": "id", + "type": "varchar(30)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "time_created": { + "name": "time_created", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "time_updated": { + "name": "time_updated", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3)" + }, + "time_deleted": { + "name": "time_deleted", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "slug": { + "name": "slug", + "columns": [ + "slug" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "workspace_id": { + "name": "workspace_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + } + }, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "tables": {}, + "indexes": {} + } +} \ No newline at end of file diff --git a/packages/console/core/migrations/meta/_journal.json b/packages/console/core/migrations/meta/_journal.json index a240ce4a4..58370d4e4 100644 --- a/packages/console/core/migrations/meta/_journal.json +++ b/packages/console/core/migrations/meta/_journal.json @@ -162,6 +162,41 @@ "when": 1759427432588, "tag": "0022_nice_dreadnoughts", "breakpoints": true + }, + { + "idx": 23, + "version": "5", + "when": 1759444220653, + "tag": "0023_optimal_paibok", + "breakpoints": true + }, + { + "idx": 24, + "version": "5", + "when": 1759522925614, + "tag": "0024_early_black_crow", + "breakpoints": true + }, + { + "idx": 25, + "version": "5", + "when": 1759525451885, + "tag": "0025_legal_joseph", + "breakpoints": true + }, + { + "idx": 26, + "version": "5", + "when": 1759546980316, + "tag": "0026_numerous_prodigy", + "breakpoints": true + }, + { + "idx": 27, + "version": "5", + "when": 1759553466608, + "tag": "0027_hot_wong", + "breakpoints": true } ] } \ No newline at end of file diff --git a/packages/console/core/package.json b/packages/console/core/package.json index f20c0cc66..75114138e 100644 --- a/packages/console/core/package.json +++ b/packages/console/core/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode/console-core", - "version": "0.14.0", + "version": "0.14.1", "private": true, "type": "module", "dependencies": { diff --git a/packages/console/core/src/billing.ts b/packages/console/core/src/billing.ts index 9c683a359..e79e455bc 100644 --- a/packages/console/core/src/billing.ts +++ b/packages/console/core/src/billing.ts @@ -1,13 +1,13 @@ import { Stripe } from "stripe" -import { Database, eq, sql } from "./drizzle" +import { and, Database, eq, sql } from "./drizzle" import { BillingTable, PaymentTable, UsageTable } from "./schema/billing.sql" import { Actor } from "./actor" import { fn } from "./util/fn" import { z } from "zod" -import { User } from "./user" import { Resource } from "@opencode/console-resource" import { Identifier } from "./identifier" import { centsToMicroCents } from "./util/price" +import { User } from "./user" export namespace Billing { export const CHARGE_NAME = "opencode credits" @@ -168,10 +168,10 @@ export namespace Billing { cancelUrl: z.string(), }), async (input) => { - const account = Actor.assert("user") + const user = Actor.assert("user") const { successUrl, cancelUrl } = input - const user = await User.fromID(account.properties.userID) + const email = await User.getAccountEmail(user.properties.userID) const customer = await Billing.get() const session = await Billing.stripe().checkout.sessions.create({ mode: "payment", @@ -206,7 +206,7 @@ export namespace Billing { }, } : { - customer_email: user.email!, + customer_email: email!, customer_creation: "always", }), currency: "usd", diff --git a/packages/console/core/src/key.ts b/packages/console/core/src/key.ts index 28643a521..938c1ae8f 100644 --- a/packages/console/core/src/key.ts +++ b/packages/console/core/src/key.ts @@ -18,58 +18,48 @@ export namespace Key { return keys } - export const create = fn(z.object({ name: z.string().min(1).max(255) }), async (input) => { - const workspaceID = Actor.workspace() - const { name } = input + export const create = fn( + z.object({ + userID: z.string(), + name: z.string().min(1).max(255), + }), + async (input) => { + const { name } = input - // Generate secret key: sk- + 64 random characters (upper, lower, numbers) - const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" - let secretKey = "sk-" - const array = new Uint32Array(64) - crypto.getRandomValues(array) - for (let i = 0, l = array.length; i < l; i++) { - secretKey += chars[array[i] % chars.length] - } - const keyID = Identifier.create("key") + // Generate secret key: sk- + 64 random characters (upper, lower, numbers) + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + let secretKey = "sk-" + const array = new Uint32Array(64) + crypto.getRandomValues(array) + for (let i = 0, l = array.length; i < l; i++) { + secretKey += chars[array[i] % chars.length] + } + const keyID = Identifier.create("key") - await Database.use((tx) => - tx.insert(KeyTable).values({ - id: keyID, - workspaceID, - actor: Actor.use(), - name, - key: secretKey, - timeUsed: null, - }), - ).catch((e: any) => { - if (e.message.match(/Duplicate entry '.*' for key 'key.name'/)) - throw new Error("A key with this name already exists. Please choose a different name.") - throw e - }) + await Database.use((tx) => + tx.insert(KeyTable).values({ + id: keyID, + workspaceID: Actor.workspace(), + userID: input.userID, + name, + key: secretKey, + timeUsed: null, + }), + ) - return keyID - }) + return keyID + }, + ) export const remove = fn(z.object({ id: z.string() }), async (input) => { const workspace = Actor.workspace() - await Database.transaction(async (tx) => { - const row = await tx - .select({ - name: KeyTable.name, - }) - .from(KeyTable) - .where(and(eq(KeyTable.id, input.id), eq(KeyTable.workspaceID, workspace))) - .then((rows) => rows[0]) - if (!row) return - - await tx + await Database.transaction((tx) => + tx .update(KeyTable) .set({ timeDeleted: sql`now()`, - oldName: row.name, - name: input.id, // Use the key ID as the name }) - .where(and(eq(KeyTable.id, input.id), eq(KeyTable.workspaceID, workspace))) - }) + .where(and(eq(KeyTable.id, input.id), eq(KeyTable.workspaceID, workspace))), + ) }) } diff --git a/packages/console/core/src/schema/key.sql.ts b/packages/console/core/src/schema/key.sql.ts index 98b99c788..107bbd202 100644 --- a/packages/console/core/src/schema/key.sql.ts +++ b/packages/console/core/src/schema/key.sql.ts @@ -1,22 +1,16 @@ -import { mysqlTable, varchar, uniqueIndex, json } from "drizzle-orm/mysql-core" -import { timestamps, utc, workspaceColumns } from "../drizzle/types" +import { mysqlTable, varchar, uniqueIndex } from "drizzle-orm/mysql-core" +import { timestamps, ulid, utc, workspaceColumns } from "../drizzle/types" import { workspaceIndexes } from "./workspace.sql" -import { Actor } from "../actor" export const KeyTable = mysqlTable( "key", { ...workspaceColumns, ...timestamps, - actor: json("actor").$type(), name: varchar("name", { length: 255 }).notNull(), - oldName: varchar("old_name", { length: 255 }), key: varchar("key", { length: 255 }).notNull(), + userID: ulid("user_id").notNull(), timeUsed: utc("time_used"), }, - (table) => [ - ...workspaceIndexes(table), - uniqueIndex("global_key").on(table.key), - uniqueIndex("name").on(table.workspaceID, table.name), - ], + (table) => [...workspaceIndexes(table), uniqueIndex("global_key").on(table.key)], ) diff --git a/packages/console/core/src/schema/user.sql.ts b/packages/console/core/src/schema/user.sql.ts index 861c14b47..121199f72 100644 --- a/packages/console/core/src/schema/user.sql.ts +++ b/packages/console/core/src/schema/user.sql.ts @@ -1,7 +1,6 @@ -import { mysqlTable, uniqueIndex, varchar, int, mysqlEnum, foreignKey } from "drizzle-orm/mysql-core" +import { mysqlTable, uniqueIndex, varchar, int, mysqlEnum, index } from "drizzle-orm/mysql-core" import { timestamps, ulid, utc, workspaceColumns } from "../drizzle/types" import { workspaceIndexes } from "./workspace.sql" -import { AccountTable } from "./account.sql" export const UserRole = ["admin", "member"] as const @@ -11,9 +10,7 @@ export const UserTable = mysqlTable( ...workspaceColumns, ...timestamps, accountID: ulid("account_id"), - oldAccountID: ulid("old_account_id"), email: varchar("email", { length: 255 }), - oldEmail: varchar("old_email", { length: 255 }), name: varchar("name", { length: 255 }).notNull(), timeSeen: utc("time_seen"), color: int("color"), @@ -23,10 +20,7 @@ export const UserTable = mysqlTable( ...workspaceIndexes(table), uniqueIndex("user_account_id").on(table.workspaceID, table.accountID), uniqueIndex("user_email").on(table.workspaceID, table.email), - foreignKey({ - columns: [table.accountID], - foreignColumns: [AccountTable.id], - name: "global_account_id", - }), + index("global_account_id").on(table.accountID), + index("global_email").on(table.email), ], ) diff --git a/packages/console/core/src/user.ts b/packages/console/core/src/user.ts index 8f00722e6..c9567a2cb 100644 --- a/packages/console/core/src/user.ts +++ b/packages/console/core/src/user.ts @@ -1,15 +1,16 @@ import { z } from "zod" -import { and, eq, getTableColumns, isNull, sql } from "drizzle-orm" +import { and, eq, getTableColumns, inArray, isNull, or, sql } from "drizzle-orm" import { fn } from "./util/fn" import { Database } from "./drizzle" import { UserRole, UserTable } from "./schema/user.sql" import { Actor } from "./actor" import { Identifier } from "./identifier" import { render } from "@jsx-email/render" -import { InviteEmail } from "@opencode/console-mail/InviteEmail.jsx" import { AWS } from "./aws" import { Account } from "./account" import { AccountTable } from "./schema/account.sql" +import { Key } from "./key" +import { KeyTable } from "./schema/key.sql" export namespace User { const assertAdmin = async () => { @@ -50,6 +51,19 @@ export namespace User { ), ) + export const getAccountEmail = fn(z.string(), (id) => + Database.use((tx) => + tx + .select({ + email: AccountTable.email, + }) + .from(UserTable) + .leftJoin(AccountTable, eq(UserTable.accountID, AccountTable.id)) + .where(and(eq(UserTable.workspaceID, Actor.workspace()), eq(UserTable.id, id))) + .then((rows) => rows[0]?.email), + ), + ) + export const invite = fn( z.object({ email: z.string(), @@ -57,75 +71,58 @@ export namespace User { }), async ({ email, role }) => { await assertAdmin() - const workspaceID = Actor.workspace() - await Database.transaction(async (tx) => { - const account = await Account.fromEmail(email) - const members = await tx.select().from(UserTable).where(eq(UserTable.workspaceID, Actor.workspace())) - await (async () => { - if (account) { - // case: account previously invited and removed - if (members.some((m) => m.oldAccountID === account.id)) { - await tx - .update(UserTable) - .set({ - timeDeleted: null, - oldAccountID: null, + // create user + const account = await Account.fromEmail(email) + await Database.use((tx) => + tx + .insert(UserTable) + .values({ + id: Identifier.create("user"), + name: "", + ...(account + ? { accountID: account.id, - }) - .where(and(eq(UserTable.workspaceID, Actor.workspace()), eq(UserTable.accountID, account.id))) - return - } - // case: account previously not invited - await tx - .insert(UserTable) - .values({ - id: Identifier.create("user"), - name: "", - accountID: account.id, - workspaceID, - role, - }) - .catch((e: any) => { - if (e.message.match(/Duplicate entry '.*' for key 'user.user_account_id'/)) - throw new Error("A user with this email has already been invited.") - throw e - }) - return - } - // case: email previously invited and removed - if (members.some((m) => m.oldEmail === email)) { - await tx - .update(UserTable) - .set({ - timeDeleted: null, - oldEmail: null, - email, - }) - .where(and(eq(UserTable.workspaceID, Actor.workspace()), eq(UserTable.email, email))) - return - } - // case: email previously not invited - await tx - .insert(UserTable) - .values({ - id: Identifier.create("user"), - name: "", - email, - workspaceID, + } + : { + email, + }), + workspaceID, + role, + }) + .onDuplicateKeyUpdate({ + set: { role, - }) - .catch((e: any) => { - if (e.message.match(/Duplicate entry '.*' for key 'user.user_email'/)) - throw new Error("A user with this email has already been invited.") - throw e - }) - })() - }) + timeDeleted: null, + }, + }), + ) + + // create api key + if (account) { + await Database.use(async (tx) => { + const user = await tx + .select() + .from(UserTable) + .where(and(eq(UserTable.workspaceID, workspaceID), eq(UserTable.accountID, account.id))) + .then((rows) => rows[0]) + + const key = await tx + .select() + .from(KeyTable) + .where(and(eq(KeyTable.workspaceID, workspaceID), eq(KeyTable.userID, user.id))) + .then((rows) => rows[0]) + + if (key) return + + await Key.create({ userID: user.id, name: "Default API Key" }) + }) + } // send email, ignore errors try { + const { InviteEmail } = await import("@opencode/console-mail/InviteEmail.jsx") await AWS.sendEmail({ to: email, subject: `You've been invited to join the ${workspaceID} workspace on OpenCode Zen`, @@ -143,6 +140,42 @@ export namespace User { }, ) + export const joinInvitedWorkspaces = fn(z.void(), async () => { + const account = Actor.assert("account") + const invitations = await Database.use(async (tx) => { + const invitations = await tx + .select({ + id: UserTable.id, + workspaceID: UserTable.workspaceID, + }) + .from(UserTable) + .where(eq(UserTable.email, account.properties.email)) + + await tx + .update(UserTable) + .set({ + accountID: account.properties.accountID, + email: null, + }) + .where(eq(UserTable.email, account.properties.email)) + return invitations + }) + + await Promise.all( + invitations.map((invite) => + Actor.provide( + "system", + { + workspaceID: invite.workspaceID, + }, + () => Key.create({ userID: invite.id, name: "Default API Key" }), + ), + ), + ) + + return invitations.length + }) + export const updateRole = fn( z.object({ id: z.string(), @@ -164,25 +197,13 @@ export namespace User { await assertAdmin() assertNotSelf(id) - return await Database.transaction(async (tx) => { - const user = await fromID(id) - if (!user) throw new Error("User not found") - - await tx + return await Database.use((tx) => + tx .update(UserTable) .set({ - ...(user.email - ? { - oldEmail: user.email, - email: null, - } - : { - oldAccountID: user.accountID, - accountID: null, - }), timeDeleted: sql`now()`, }) - .where(and(eq(UserTable.id, id), eq(UserTable.workspaceID, Actor.workspace()))) - }) + .where(and(eq(UserTable.id, id), eq(UserTable.workspaceID, Actor.workspace()))), + ) }) } diff --git a/packages/console/core/src/workspace.ts b/packages/console/core/src/workspace.ts index 6119f51df..87a08adb3 100644 --- a/packages/console/core/src/workspace.ts +++ b/packages/console/core/src/workspace.ts @@ -12,13 +12,14 @@ export namespace Workspace { export const create = fn(z.void(), async () => { const account = Actor.assert("account") const workspaceID = Identifier.create("workspace") + const userID = Identifier.create("user") await Database.transaction(async (tx) => { await tx.insert(WorkspaceTable).values({ id: workspaceID, }) await tx.insert(UserTable).values({ workspaceID, - id: Identifier.create("user"), + id: userID, accountID: account.properties.accountID, name: "", role: "admin", @@ -34,7 +35,7 @@ export namespace Workspace { { workspaceID, }, - () => Key.create({ name: "Default API Key" }), + () => Key.create({ userID, name: "Default API Key" }), ) return workspaceID }) diff --git a/packages/console/function/package.json b/packages/console/function/package.json index 9843feee0..3239b0b15 100644 --- a/packages/console/function/package.json +++ b/packages/console/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode/console-function", - "version": "0.14.0", + "version": "0.14.1", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/console/function/src/auth.ts b/packages/console/function/src/auth.ts index 77199fef5..510f50ab0 100644 --- a/packages/console/function/src/auth.ts +++ b/packages/console/function/src/auth.ts @@ -10,7 +10,7 @@ import { Account } from "@opencode/console-core/account.js" import { Workspace } from "@opencode/console-core/workspace.js" import { Actor } from "@opencode/console-core/actor.js" import { Resource } from "@opencode/console-resource" -import { Database } from "@opencode/console-core/drizzle/index.js" +import { User } from "@opencode/console-core/user.js" type Env = { AuthStorage: KVNamespace @@ -123,8 +123,8 @@ export default { }) } await Actor.provide("account", { accountID, email }, async () => { - const workspaces = await Account.workspaces() - if (workspaces.length === 0) { + const workspaceCount = await User.joinInvitedWorkspaces() + if (workspaceCount === 0) { await Workspace.create() } }) diff --git a/packages/console/function/tsconfig.json b/packages/console/function/tsconfig.json index 0faf16aab..3218dd7e3 100644 --- a/packages/console/function/tsconfig.json +++ b/packages/console/function/tsconfig.json @@ -4,6 +4,8 @@ "compilerOptions": { "module": "ESNext", "moduleResolution": "bundler", + "jsx": "preserve", + "jsxImportSource": "react", "types": ["@cloudflare/workers-types", "node"] } } diff --git a/packages/console/mail/package.json b/packages/console/mail/package.json index e03825290..666b06d1a 100644 --- a/packages/console/mail/package.json +++ b/packages/console/mail/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode/console-mail", - "version": "0.14.0", + "version": "0.14.1", "private": true, "type": "module", "dependencies": { diff --git a/packages/console/scripts/package.json b/packages/console/scripts/package.json index 005edd094..a83e349eb 100644 --- a/packages/console/scripts/package.json +++ b/packages/console/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@opencode/console-scripts", - "version": "0.14.0", + "version": "0.14.1", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/app/.gitignore b/packages/desktop/.gitignore similarity index 100% rename from packages/app/.gitignore rename to packages/desktop/.gitignore diff --git a/packages/app/AGENTS.md b/packages/desktop/AGENTS.md similarity index 100% rename from packages/app/AGENTS.md rename to packages/desktop/AGENTS.md diff --git a/packages/app/README.md b/packages/desktop/README.md similarity index 100% rename from packages/app/README.md rename to packages/desktop/README.md diff --git a/packages/app/index.html b/packages/desktop/index.html similarity index 100% rename from packages/app/index.html rename to packages/desktop/index.html diff --git a/packages/app/package.json b/packages/desktop/package.json similarity index 95% rename from packages/app/package.json rename to packages/desktop/package.json index 67cc93ad9..04a0ce801 100644 --- a/packages/app/package.json +++ b/packages/desktop/package.json @@ -1,6 +1,6 @@ { - "name": "@opencode/app", - "version": "0.14.0", + "name": "@opencode/desktop", + "version": "0.14.1", "description": "", "type": "module", "scripts": { diff --git a/packages/app/scripts/vite-theme-plugin.ts b/packages/desktop/scripts/vite-theme-plugin.ts similarity index 100% rename from packages/app/scripts/vite-theme-plugin.ts rename to packages/desktop/scripts/vite-theme-plugin.ts diff --git a/packages/app/src/assets/favicon.svg b/packages/desktop/src/assets/favicon.svg similarity index 100% rename from packages/app/src/assets/favicon.svg rename to packages/desktop/src/assets/favicon.svg diff --git a/packages/app/src/assets/file-icons/3d.svg b/packages/desktop/src/assets/file-icons/3d.svg similarity index 100% rename from packages/app/src/assets/file-icons/3d.svg rename to packages/desktop/src/assets/file-icons/3d.svg diff --git a/packages/app/src/assets/file-icons/abap.svg b/packages/desktop/src/assets/file-icons/abap.svg similarity index 100% rename from packages/app/src/assets/file-icons/abap.svg rename to packages/desktop/src/assets/file-icons/abap.svg diff --git a/packages/app/src/assets/file-icons/abc.svg b/packages/desktop/src/assets/file-icons/abc.svg similarity index 100% rename from packages/app/src/assets/file-icons/abc.svg rename to packages/desktop/src/assets/file-icons/abc.svg diff --git a/packages/app/src/assets/file-icons/actionscript.svg b/packages/desktop/src/assets/file-icons/actionscript.svg similarity index 100% rename from packages/app/src/assets/file-icons/actionscript.svg rename to packages/desktop/src/assets/file-icons/actionscript.svg diff --git a/packages/app/src/assets/file-icons/ada.svg b/packages/desktop/src/assets/file-icons/ada.svg similarity index 100% rename from packages/app/src/assets/file-icons/ada.svg rename to packages/desktop/src/assets/file-icons/ada.svg diff --git a/packages/app/src/assets/file-icons/adobe-illustrator.svg b/packages/desktop/src/assets/file-icons/adobe-illustrator.svg similarity index 100% rename from packages/app/src/assets/file-icons/adobe-illustrator.svg rename to packages/desktop/src/assets/file-icons/adobe-illustrator.svg diff --git a/packages/app/src/assets/file-icons/adobe-illustrator_light.svg b/packages/desktop/src/assets/file-icons/adobe-illustrator_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/adobe-illustrator_light.svg rename to packages/desktop/src/assets/file-icons/adobe-illustrator_light.svg diff --git a/packages/app/src/assets/file-icons/adobe-photoshop.svg b/packages/desktop/src/assets/file-icons/adobe-photoshop.svg similarity index 100% rename from packages/app/src/assets/file-icons/adobe-photoshop.svg rename to packages/desktop/src/assets/file-icons/adobe-photoshop.svg diff --git a/packages/app/src/assets/file-icons/adobe-photoshop_light.svg b/packages/desktop/src/assets/file-icons/adobe-photoshop_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/adobe-photoshop_light.svg rename to packages/desktop/src/assets/file-icons/adobe-photoshop_light.svg diff --git a/packages/app/src/assets/file-icons/adobe-swc.svg b/packages/desktop/src/assets/file-icons/adobe-swc.svg similarity index 100% rename from packages/app/src/assets/file-icons/adobe-swc.svg rename to packages/desktop/src/assets/file-icons/adobe-swc.svg diff --git a/packages/app/src/assets/file-icons/adonis.svg b/packages/desktop/src/assets/file-icons/adonis.svg similarity index 100% rename from packages/app/src/assets/file-icons/adonis.svg rename to packages/desktop/src/assets/file-icons/adonis.svg diff --git a/packages/app/src/assets/file-icons/advpl.svg b/packages/desktop/src/assets/file-icons/advpl.svg similarity index 100% rename from packages/app/src/assets/file-icons/advpl.svg rename to packages/desktop/src/assets/file-icons/advpl.svg diff --git a/packages/app/src/assets/file-icons/amplify.svg b/packages/desktop/src/assets/file-icons/amplify.svg similarity index 100% rename from packages/app/src/assets/file-icons/amplify.svg rename to packages/desktop/src/assets/file-icons/amplify.svg diff --git a/packages/app/src/assets/file-icons/android.svg b/packages/desktop/src/assets/file-icons/android.svg similarity index 100% rename from packages/app/src/assets/file-icons/android.svg rename to packages/desktop/src/assets/file-icons/android.svg diff --git a/packages/app/src/assets/file-icons/angular.svg b/packages/desktop/src/assets/file-icons/angular.svg similarity index 100% rename from packages/app/src/assets/file-icons/angular.svg rename to packages/desktop/src/assets/file-icons/angular.svg diff --git a/packages/app/src/assets/file-icons/antlr.svg b/packages/desktop/src/assets/file-icons/antlr.svg similarity index 100% rename from packages/app/src/assets/file-icons/antlr.svg rename to packages/desktop/src/assets/file-icons/antlr.svg diff --git a/packages/app/src/assets/file-icons/apiblueprint.svg b/packages/desktop/src/assets/file-icons/apiblueprint.svg similarity index 100% rename from packages/app/src/assets/file-icons/apiblueprint.svg rename to packages/desktop/src/assets/file-icons/apiblueprint.svg diff --git a/packages/app/src/assets/file-icons/apollo.svg b/packages/desktop/src/assets/file-icons/apollo.svg similarity index 100% rename from packages/app/src/assets/file-icons/apollo.svg rename to packages/desktop/src/assets/file-icons/apollo.svg diff --git a/packages/app/src/assets/file-icons/applescript.svg b/packages/desktop/src/assets/file-icons/applescript.svg similarity index 100% rename from packages/app/src/assets/file-icons/applescript.svg rename to packages/desktop/src/assets/file-icons/applescript.svg diff --git a/packages/app/src/assets/file-icons/apps-script.svg b/packages/desktop/src/assets/file-icons/apps-script.svg similarity index 100% rename from packages/app/src/assets/file-icons/apps-script.svg rename to packages/desktop/src/assets/file-icons/apps-script.svg diff --git a/packages/app/src/assets/file-icons/appveyor.svg b/packages/desktop/src/assets/file-icons/appveyor.svg similarity index 100% rename from packages/app/src/assets/file-icons/appveyor.svg rename to packages/desktop/src/assets/file-icons/appveyor.svg diff --git a/packages/app/src/assets/file-icons/architecture.svg b/packages/desktop/src/assets/file-icons/architecture.svg similarity index 100% rename from packages/app/src/assets/file-icons/architecture.svg rename to packages/desktop/src/assets/file-icons/architecture.svg diff --git a/packages/app/src/assets/file-icons/arduino.svg b/packages/desktop/src/assets/file-icons/arduino.svg similarity index 100% rename from packages/app/src/assets/file-icons/arduino.svg rename to packages/desktop/src/assets/file-icons/arduino.svg diff --git a/packages/app/src/assets/file-icons/asciidoc.svg b/packages/desktop/src/assets/file-icons/asciidoc.svg similarity index 100% rename from packages/app/src/assets/file-icons/asciidoc.svg rename to packages/desktop/src/assets/file-icons/asciidoc.svg diff --git a/packages/app/src/assets/file-icons/assembly.svg b/packages/desktop/src/assets/file-icons/assembly.svg similarity index 100% rename from packages/app/src/assets/file-icons/assembly.svg rename to packages/desktop/src/assets/file-icons/assembly.svg diff --git a/packages/app/src/assets/file-icons/astro-config.svg b/packages/desktop/src/assets/file-icons/astro-config.svg similarity index 100% rename from packages/app/src/assets/file-icons/astro-config.svg rename to packages/desktop/src/assets/file-icons/astro-config.svg diff --git a/packages/app/src/assets/file-icons/astro.svg b/packages/desktop/src/assets/file-icons/astro.svg similarity index 100% rename from packages/app/src/assets/file-icons/astro.svg rename to packages/desktop/src/assets/file-icons/astro.svg diff --git a/packages/app/src/assets/file-icons/astyle.svg b/packages/desktop/src/assets/file-icons/astyle.svg similarity index 100% rename from packages/app/src/assets/file-icons/astyle.svg rename to packages/desktop/src/assets/file-icons/astyle.svg diff --git a/packages/app/src/assets/file-icons/audio.svg b/packages/desktop/src/assets/file-icons/audio.svg similarity index 100% rename from packages/app/src/assets/file-icons/audio.svg rename to packages/desktop/src/assets/file-icons/audio.svg diff --git a/packages/app/src/assets/file-icons/aurelia.svg b/packages/desktop/src/assets/file-icons/aurelia.svg similarity index 100% rename from packages/app/src/assets/file-icons/aurelia.svg rename to packages/desktop/src/assets/file-icons/aurelia.svg diff --git a/packages/app/src/assets/file-icons/authors.svg b/packages/desktop/src/assets/file-icons/authors.svg similarity index 100% rename from packages/app/src/assets/file-icons/authors.svg rename to packages/desktop/src/assets/file-icons/authors.svg diff --git a/packages/app/src/assets/file-icons/auto.svg b/packages/desktop/src/assets/file-icons/auto.svg similarity index 100% rename from packages/app/src/assets/file-icons/auto.svg rename to packages/desktop/src/assets/file-icons/auto.svg diff --git a/packages/app/src/assets/file-icons/auto_light.svg b/packages/desktop/src/assets/file-icons/auto_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/auto_light.svg rename to packages/desktop/src/assets/file-icons/auto_light.svg diff --git a/packages/app/src/assets/file-icons/autohotkey.svg b/packages/desktop/src/assets/file-icons/autohotkey.svg similarity index 100% rename from packages/app/src/assets/file-icons/autohotkey.svg rename to packages/desktop/src/assets/file-icons/autohotkey.svg diff --git a/packages/app/src/assets/file-icons/autoit.svg b/packages/desktop/src/assets/file-icons/autoit.svg similarity index 100% rename from packages/app/src/assets/file-icons/autoit.svg rename to packages/desktop/src/assets/file-icons/autoit.svg diff --git a/packages/app/src/assets/file-icons/azure-pipelines.svg b/packages/desktop/src/assets/file-icons/azure-pipelines.svg similarity index 100% rename from packages/app/src/assets/file-icons/azure-pipelines.svg rename to packages/desktop/src/assets/file-icons/azure-pipelines.svg diff --git a/packages/app/src/assets/file-icons/azure.svg b/packages/desktop/src/assets/file-icons/azure.svg similarity index 100% rename from packages/app/src/assets/file-icons/azure.svg rename to packages/desktop/src/assets/file-icons/azure.svg diff --git a/packages/app/src/assets/file-icons/babel.svg b/packages/desktop/src/assets/file-icons/babel.svg similarity index 100% rename from packages/app/src/assets/file-icons/babel.svg rename to packages/desktop/src/assets/file-icons/babel.svg diff --git a/packages/app/src/assets/file-icons/ballerina.svg b/packages/desktop/src/assets/file-icons/ballerina.svg similarity index 100% rename from packages/app/src/assets/file-icons/ballerina.svg rename to packages/desktop/src/assets/file-icons/ballerina.svg diff --git a/packages/app/src/assets/file-icons/bazel.svg b/packages/desktop/src/assets/file-icons/bazel.svg similarity index 100% rename from packages/app/src/assets/file-icons/bazel.svg rename to packages/desktop/src/assets/file-icons/bazel.svg diff --git a/packages/app/src/assets/file-icons/bbx.svg b/packages/desktop/src/assets/file-icons/bbx.svg similarity index 100% rename from packages/app/src/assets/file-icons/bbx.svg rename to packages/desktop/src/assets/file-icons/bbx.svg diff --git a/packages/app/src/assets/file-icons/beancount.svg b/packages/desktop/src/assets/file-icons/beancount.svg similarity index 100% rename from packages/app/src/assets/file-icons/beancount.svg rename to packages/desktop/src/assets/file-icons/beancount.svg diff --git a/packages/app/src/assets/file-icons/bench-js.svg b/packages/desktop/src/assets/file-icons/bench-js.svg similarity index 100% rename from packages/app/src/assets/file-icons/bench-js.svg rename to packages/desktop/src/assets/file-icons/bench-js.svg diff --git a/packages/app/src/assets/file-icons/bench-jsx.svg b/packages/desktop/src/assets/file-icons/bench-jsx.svg similarity index 100% rename from packages/app/src/assets/file-icons/bench-jsx.svg rename to packages/desktop/src/assets/file-icons/bench-jsx.svg diff --git a/packages/app/src/assets/file-icons/bench-ts.svg b/packages/desktop/src/assets/file-icons/bench-ts.svg similarity index 100% rename from packages/app/src/assets/file-icons/bench-ts.svg rename to packages/desktop/src/assets/file-icons/bench-ts.svg diff --git a/packages/app/src/assets/file-icons/bibliography.svg b/packages/desktop/src/assets/file-icons/bibliography.svg similarity index 100% rename from packages/app/src/assets/file-icons/bibliography.svg rename to packages/desktop/src/assets/file-icons/bibliography.svg diff --git a/packages/app/src/assets/file-icons/bibtex-style.svg b/packages/desktop/src/assets/file-icons/bibtex-style.svg similarity index 100% rename from packages/app/src/assets/file-icons/bibtex-style.svg rename to packages/desktop/src/assets/file-icons/bibtex-style.svg diff --git a/packages/app/src/assets/file-icons/bicep.svg b/packages/desktop/src/assets/file-icons/bicep.svg similarity index 100% rename from packages/app/src/assets/file-icons/bicep.svg rename to packages/desktop/src/assets/file-icons/bicep.svg diff --git a/packages/app/src/assets/file-icons/biome.svg b/packages/desktop/src/assets/file-icons/biome.svg similarity index 100% rename from packages/app/src/assets/file-icons/biome.svg rename to packages/desktop/src/assets/file-icons/biome.svg diff --git a/packages/app/src/assets/file-icons/bitbucket.svg b/packages/desktop/src/assets/file-icons/bitbucket.svg similarity index 100% rename from packages/app/src/assets/file-icons/bitbucket.svg rename to packages/desktop/src/assets/file-icons/bitbucket.svg diff --git a/packages/app/src/assets/file-icons/bithound.svg b/packages/desktop/src/assets/file-icons/bithound.svg similarity index 100% rename from packages/app/src/assets/file-icons/bithound.svg rename to packages/desktop/src/assets/file-icons/bithound.svg diff --git a/packages/app/src/assets/file-icons/blender.svg b/packages/desktop/src/assets/file-icons/blender.svg similarity index 100% rename from packages/app/src/assets/file-icons/blender.svg rename to packages/desktop/src/assets/file-icons/blender.svg diff --git a/packages/app/src/assets/file-icons/blink.svg b/packages/desktop/src/assets/file-icons/blink.svg similarity index 100% rename from packages/app/src/assets/file-icons/blink.svg rename to packages/desktop/src/assets/file-icons/blink.svg diff --git a/packages/app/src/assets/file-icons/blink_light.svg b/packages/desktop/src/assets/file-icons/blink_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/blink_light.svg rename to packages/desktop/src/assets/file-icons/blink_light.svg diff --git a/packages/app/src/assets/file-icons/blitz.svg b/packages/desktop/src/assets/file-icons/blitz.svg similarity index 100% rename from packages/app/src/assets/file-icons/blitz.svg rename to packages/desktop/src/assets/file-icons/blitz.svg diff --git a/packages/app/src/assets/file-icons/bower.svg b/packages/desktop/src/assets/file-icons/bower.svg similarity index 100% rename from packages/app/src/assets/file-icons/bower.svg rename to packages/desktop/src/assets/file-icons/bower.svg diff --git a/packages/app/src/assets/file-icons/brainfuck.svg b/packages/desktop/src/assets/file-icons/brainfuck.svg similarity index 100% rename from packages/app/src/assets/file-icons/brainfuck.svg rename to packages/desktop/src/assets/file-icons/brainfuck.svg diff --git a/packages/app/src/assets/file-icons/browserlist.svg b/packages/desktop/src/assets/file-icons/browserlist.svg similarity index 100% rename from packages/app/src/assets/file-icons/browserlist.svg rename to packages/desktop/src/assets/file-icons/browserlist.svg diff --git a/packages/app/src/assets/file-icons/browserlist_light.svg b/packages/desktop/src/assets/file-icons/browserlist_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/browserlist_light.svg rename to packages/desktop/src/assets/file-icons/browserlist_light.svg diff --git a/packages/app/src/assets/file-icons/bruno.svg b/packages/desktop/src/assets/file-icons/bruno.svg similarity index 100% rename from packages/app/src/assets/file-icons/bruno.svg rename to packages/desktop/src/assets/file-icons/bruno.svg diff --git a/packages/app/src/assets/file-icons/buck.svg b/packages/desktop/src/assets/file-icons/buck.svg similarity index 100% rename from packages/app/src/assets/file-icons/buck.svg rename to packages/desktop/src/assets/file-icons/buck.svg diff --git a/packages/app/src/assets/file-icons/bucklescript.svg b/packages/desktop/src/assets/file-icons/bucklescript.svg similarity index 100% rename from packages/app/src/assets/file-icons/bucklescript.svg rename to packages/desktop/src/assets/file-icons/bucklescript.svg diff --git a/packages/app/src/assets/file-icons/buildkite.svg b/packages/desktop/src/assets/file-icons/buildkite.svg similarity index 100% rename from packages/app/src/assets/file-icons/buildkite.svg rename to packages/desktop/src/assets/file-icons/buildkite.svg diff --git a/packages/app/src/assets/file-icons/bun.svg b/packages/desktop/src/assets/file-icons/bun.svg similarity index 100% rename from packages/app/src/assets/file-icons/bun.svg rename to packages/desktop/src/assets/file-icons/bun.svg diff --git a/packages/app/src/assets/file-icons/bun_light.svg b/packages/desktop/src/assets/file-icons/bun_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/bun_light.svg rename to packages/desktop/src/assets/file-icons/bun_light.svg diff --git a/packages/app/src/assets/file-icons/c.svg b/packages/desktop/src/assets/file-icons/c.svg similarity index 100% rename from packages/app/src/assets/file-icons/c.svg rename to packages/desktop/src/assets/file-icons/c.svg diff --git a/packages/app/src/assets/file-icons/c3.svg b/packages/desktop/src/assets/file-icons/c3.svg similarity index 100% rename from packages/app/src/assets/file-icons/c3.svg rename to packages/desktop/src/assets/file-icons/c3.svg diff --git a/packages/app/src/assets/file-icons/cabal.svg b/packages/desktop/src/assets/file-icons/cabal.svg similarity index 100% rename from packages/app/src/assets/file-icons/cabal.svg rename to packages/desktop/src/assets/file-icons/cabal.svg diff --git a/packages/app/src/assets/file-icons/caddy.svg b/packages/desktop/src/assets/file-icons/caddy.svg similarity index 100% rename from packages/app/src/assets/file-icons/caddy.svg rename to packages/desktop/src/assets/file-icons/caddy.svg diff --git a/packages/app/src/assets/file-icons/cadence.svg b/packages/desktop/src/assets/file-icons/cadence.svg similarity index 100% rename from packages/app/src/assets/file-icons/cadence.svg rename to packages/desktop/src/assets/file-icons/cadence.svg diff --git a/packages/app/src/assets/file-icons/cairo.svg b/packages/desktop/src/assets/file-icons/cairo.svg similarity index 100% rename from packages/app/src/assets/file-icons/cairo.svg rename to packages/desktop/src/assets/file-icons/cairo.svg diff --git a/packages/app/src/assets/file-icons/cake.svg b/packages/desktop/src/assets/file-icons/cake.svg similarity index 100% rename from packages/app/src/assets/file-icons/cake.svg rename to packages/desktop/src/assets/file-icons/cake.svg diff --git a/packages/app/src/assets/file-icons/capacitor.svg b/packages/desktop/src/assets/file-icons/capacitor.svg similarity index 100% rename from packages/app/src/assets/file-icons/capacitor.svg rename to packages/desktop/src/assets/file-icons/capacitor.svg diff --git a/packages/app/src/assets/file-icons/capnp.svg b/packages/desktop/src/assets/file-icons/capnp.svg similarity index 100% rename from packages/app/src/assets/file-icons/capnp.svg rename to packages/desktop/src/assets/file-icons/capnp.svg diff --git a/packages/app/src/assets/file-icons/cbx.svg b/packages/desktop/src/assets/file-icons/cbx.svg similarity index 100% rename from packages/app/src/assets/file-icons/cbx.svg rename to packages/desktop/src/assets/file-icons/cbx.svg diff --git a/packages/app/src/assets/file-icons/cds.svg b/packages/desktop/src/assets/file-icons/cds.svg similarity index 100% rename from packages/app/src/assets/file-icons/cds.svg rename to packages/desktop/src/assets/file-icons/cds.svg diff --git a/packages/app/src/assets/file-icons/certificate.svg b/packages/desktop/src/assets/file-icons/certificate.svg similarity index 100% rename from packages/app/src/assets/file-icons/certificate.svg rename to packages/desktop/src/assets/file-icons/certificate.svg diff --git a/packages/app/src/assets/file-icons/changelog.svg b/packages/desktop/src/assets/file-icons/changelog.svg similarity index 100% rename from packages/app/src/assets/file-icons/changelog.svg rename to packages/desktop/src/assets/file-icons/changelog.svg diff --git a/packages/app/src/assets/file-icons/chess.svg b/packages/desktop/src/assets/file-icons/chess.svg similarity index 100% rename from packages/app/src/assets/file-icons/chess.svg rename to packages/desktop/src/assets/file-icons/chess.svg diff --git a/packages/app/src/assets/file-icons/chess_light.svg b/packages/desktop/src/assets/file-icons/chess_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/chess_light.svg rename to packages/desktop/src/assets/file-icons/chess_light.svg diff --git a/packages/app/src/assets/file-icons/chrome.svg b/packages/desktop/src/assets/file-icons/chrome.svg similarity index 100% rename from packages/app/src/assets/file-icons/chrome.svg rename to packages/desktop/src/assets/file-icons/chrome.svg diff --git a/packages/app/src/assets/file-icons/circleci.svg b/packages/desktop/src/assets/file-icons/circleci.svg similarity index 100% rename from packages/app/src/assets/file-icons/circleci.svg rename to packages/desktop/src/assets/file-icons/circleci.svg diff --git a/packages/app/src/assets/file-icons/circleci_light.svg b/packages/desktop/src/assets/file-icons/circleci_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/circleci_light.svg rename to packages/desktop/src/assets/file-icons/circleci_light.svg diff --git a/packages/app/src/assets/file-icons/citation.svg b/packages/desktop/src/assets/file-icons/citation.svg similarity index 100% rename from packages/app/src/assets/file-icons/citation.svg rename to packages/desktop/src/assets/file-icons/citation.svg diff --git a/packages/app/src/assets/file-icons/clangd.svg b/packages/desktop/src/assets/file-icons/clangd.svg similarity index 100% rename from packages/app/src/assets/file-icons/clangd.svg rename to packages/desktop/src/assets/file-icons/clangd.svg diff --git a/packages/app/src/assets/file-icons/claude.svg b/packages/desktop/src/assets/file-icons/claude.svg similarity index 100% rename from packages/app/src/assets/file-icons/claude.svg rename to packages/desktop/src/assets/file-icons/claude.svg diff --git a/packages/app/src/assets/file-icons/cline.svg b/packages/desktop/src/assets/file-icons/cline.svg similarity index 100% rename from packages/app/src/assets/file-icons/cline.svg rename to packages/desktop/src/assets/file-icons/cline.svg diff --git a/packages/app/src/assets/file-icons/clojure.svg b/packages/desktop/src/assets/file-icons/clojure.svg similarity index 100% rename from packages/app/src/assets/file-icons/clojure.svg rename to packages/desktop/src/assets/file-icons/clojure.svg diff --git a/packages/app/src/assets/file-icons/cloudfoundry.svg b/packages/desktop/src/assets/file-icons/cloudfoundry.svg similarity index 100% rename from packages/app/src/assets/file-icons/cloudfoundry.svg rename to packages/desktop/src/assets/file-icons/cloudfoundry.svg diff --git a/packages/app/src/assets/file-icons/cmake.svg b/packages/desktop/src/assets/file-icons/cmake.svg similarity index 100% rename from packages/app/src/assets/file-icons/cmake.svg rename to packages/desktop/src/assets/file-icons/cmake.svg diff --git a/packages/app/src/assets/file-icons/coala.svg b/packages/desktop/src/assets/file-icons/coala.svg similarity index 100% rename from packages/app/src/assets/file-icons/coala.svg rename to packages/desktop/src/assets/file-icons/coala.svg diff --git a/packages/app/src/assets/file-icons/cobol.svg b/packages/desktop/src/assets/file-icons/cobol.svg similarity index 100% rename from packages/app/src/assets/file-icons/cobol.svg rename to packages/desktop/src/assets/file-icons/cobol.svg diff --git a/packages/app/src/assets/file-icons/coconut.svg b/packages/desktop/src/assets/file-icons/coconut.svg similarity index 100% rename from packages/app/src/assets/file-icons/coconut.svg rename to packages/desktop/src/assets/file-icons/coconut.svg diff --git a/packages/app/src/assets/file-icons/code-climate.svg b/packages/desktop/src/assets/file-icons/code-climate.svg similarity index 100% rename from packages/app/src/assets/file-icons/code-climate.svg rename to packages/desktop/src/assets/file-icons/code-climate.svg diff --git a/packages/app/src/assets/file-icons/code-climate_light.svg b/packages/desktop/src/assets/file-icons/code-climate_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/code-climate_light.svg rename to packages/desktop/src/assets/file-icons/code-climate_light.svg diff --git a/packages/app/src/assets/file-icons/codecov.svg b/packages/desktop/src/assets/file-icons/codecov.svg similarity index 100% rename from packages/app/src/assets/file-icons/codecov.svg rename to packages/desktop/src/assets/file-icons/codecov.svg diff --git a/packages/app/src/assets/file-icons/codeowners.svg b/packages/desktop/src/assets/file-icons/codeowners.svg similarity index 100% rename from packages/app/src/assets/file-icons/codeowners.svg rename to packages/desktop/src/assets/file-icons/codeowners.svg diff --git a/packages/app/src/assets/file-icons/coderabbit-ai.svg b/packages/desktop/src/assets/file-icons/coderabbit-ai.svg similarity index 100% rename from packages/app/src/assets/file-icons/coderabbit-ai.svg rename to packages/desktop/src/assets/file-icons/coderabbit-ai.svg diff --git a/packages/app/src/assets/file-icons/coffee.svg b/packages/desktop/src/assets/file-icons/coffee.svg similarity index 100% rename from packages/app/src/assets/file-icons/coffee.svg rename to packages/desktop/src/assets/file-icons/coffee.svg diff --git a/packages/app/src/assets/file-icons/coldfusion.svg b/packages/desktop/src/assets/file-icons/coldfusion.svg similarity index 100% rename from packages/app/src/assets/file-icons/coldfusion.svg rename to packages/desktop/src/assets/file-icons/coldfusion.svg diff --git a/packages/app/src/assets/file-icons/coloredpetrinets.svg b/packages/desktop/src/assets/file-icons/coloredpetrinets.svg similarity index 100% rename from packages/app/src/assets/file-icons/coloredpetrinets.svg rename to packages/desktop/src/assets/file-icons/coloredpetrinets.svg diff --git a/packages/app/src/assets/file-icons/command.svg b/packages/desktop/src/assets/file-icons/command.svg similarity index 100% rename from packages/app/src/assets/file-icons/command.svg rename to packages/desktop/src/assets/file-icons/command.svg diff --git a/packages/app/src/assets/file-icons/commitizen.svg b/packages/desktop/src/assets/file-icons/commitizen.svg similarity index 100% rename from packages/app/src/assets/file-icons/commitizen.svg rename to packages/desktop/src/assets/file-icons/commitizen.svg diff --git a/packages/app/src/assets/file-icons/commitlint.svg b/packages/desktop/src/assets/file-icons/commitlint.svg similarity index 100% rename from packages/app/src/assets/file-icons/commitlint.svg rename to packages/desktop/src/assets/file-icons/commitlint.svg diff --git a/packages/app/src/assets/file-icons/concourse.svg b/packages/desktop/src/assets/file-icons/concourse.svg similarity index 100% rename from packages/app/src/assets/file-icons/concourse.svg rename to packages/desktop/src/assets/file-icons/concourse.svg diff --git a/packages/app/src/assets/file-icons/conduct.svg b/packages/desktop/src/assets/file-icons/conduct.svg similarity index 100% rename from packages/app/src/assets/file-icons/conduct.svg rename to packages/desktop/src/assets/file-icons/conduct.svg diff --git a/packages/app/src/assets/file-icons/console.svg b/packages/desktop/src/assets/file-icons/console.svg similarity index 100% rename from packages/app/src/assets/file-icons/console.svg rename to packages/desktop/src/assets/file-icons/console.svg diff --git a/packages/app/src/assets/file-icons/contentlayer.svg b/packages/desktop/src/assets/file-icons/contentlayer.svg similarity index 100% rename from packages/app/src/assets/file-icons/contentlayer.svg rename to packages/desktop/src/assets/file-icons/contentlayer.svg diff --git a/packages/app/src/assets/file-icons/context.svg b/packages/desktop/src/assets/file-icons/context.svg similarity index 100% rename from packages/app/src/assets/file-icons/context.svg rename to packages/desktop/src/assets/file-icons/context.svg diff --git a/packages/app/src/assets/file-icons/contributing.svg b/packages/desktop/src/assets/file-icons/contributing.svg similarity index 100% rename from packages/app/src/assets/file-icons/contributing.svg rename to packages/desktop/src/assets/file-icons/contributing.svg diff --git a/packages/app/src/assets/file-icons/controller.svg b/packages/desktop/src/assets/file-icons/controller.svg similarity index 100% rename from packages/app/src/assets/file-icons/controller.svg rename to packages/desktop/src/assets/file-icons/controller.svg diff --git a/packages/app/src/assets/file-icons/copilot.svg b/packages/desktop/src/assets/file-icons/copilot.svg similarity index 100% rename from packages/app/src/assets/file-icons/copilot.svg rename to packages/desktop/src/assets/file-icons/copilot.svg diff --git a/packages/app/src/assets/file-icons/copilot_light.svg b/packages/desktop/src/assets/file-icons/copilot_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/copilot_light.svg rename to packages/desktop/src/assets/file-icons/copilot_light.svg diff --git a/packages/app/src/assets/file-icons/cpp.svg b/packages/desktop/src/assets/file-icons/cpp.svg similarity index 100% rename from packages/app/src/assets/file-icons/cpp.svg rename to packages/desktop/src/assets/file-icons/cpp.svg diff --git a/packages/app/src/assets/file-icons/craco.svg b/packages/desktop/src/assets/file-icons/craco.svg similarity index 100% rename from packages/app/src/assets/file-icons/craco.svg rename to packages/desktop/src/assets/file-icons/craco.svg diff --git a/packages/app/src/assets/file-icons/credits.svg b/packages/desktop/src/assets/file-icons/credits.svg similarity index 100% rename from packages/app/src/assets/file-icons/credits.svg rename to packages/desktop/src/assets/file-icons/credits.svg diff --git a/packages/app/src/assets/file-icons/crystal.svg b/packages/desktop/src/assets/file-icons/crystal.svg similarity index 100% rename from packages/app/src/assets/file-icons/crystal.svg rename to packages/desktop/src/assets/file-icons/crystal.svg diff --git a/packages/app/src/assets/file-icons/crystal_light.svg b/packages/desktop/src/assets/file-icons/crystal_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/crystal_light.svg rename to packages/desktop/src/assets/file-icons/crystal_light.svg diff --git a/packages/app/src/assets/file-icons/csharp.svg b/packages/desktop/src/assets/file-icons/csharp.svg similarity index 100% rename from packages/app/src/assets/file-icons/csharp.svg rename to packages/desktop/src/assets/file-icons/csharp.svg diff --git a/packages/app/src/assets/file-icons/css-map.svg b/packages/desktop/src/assets/file-icons/css-map.svg similarity index 100% rename from packages/app/src/assets/file-icons/css-map.svg rename to packages/desktop/src/assets/file-icons/css-map.svg diff --git a/packages/app/src/assets/file-icons/css.svg b/packages/desktop/src/assets/file-icons/css.svg similarity index 100% rename from packages/app/src/assets/file-icons/css.svg rename to packages/desktop/src/assets/file-icons/css.svg diff --git a/packages/app/src/assets/file-icons/cucumber.svg b/packages/desktop/src/assets/file-icons/cucumber.svg similarity index 100% rename from packages/app/src/assets/file-icons/cucumber.svg rename to packages/desktop/src/assets/file-icons/cucumber.svg diff --git a/packages/app/src/assets/file-icons/cuda.svg b/packages/desktop/src/assets/file-icons/cuda.svg similarity index 100% rename from packages/app/src/assets/file-icons/cuda.svg rename to packages/desktop/src/assets/file-icons/cuda.svg diff --git a/packages/app/src/assets/file-icons/cursor.svg b/packages/desktop/src/assets/file-icons/cursor.svg similarity index 100% rename from packages/app/src/assets/file-icons/cursor.svg rename to packages/desktop/src/assets/file-icons/cursor.svg diff --git a/packages/app/src/assets/file-icons/cursor_light.svg b/packages/desktop/src/assets/file-icons/cursor_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/cursor_light.svg rename to packages/desktop/src/assets/file-icons/cursor_light.svg diff --git a/packages/app/src/assets/file-icons/cypress.svg b/packages/desktop/src/assets/file-icons/cypress.svg similarity index 100% rename from packages/app/src/assets/file-icons/cypress.svg rename to packages/desktop/src/assets/file-icons/cypress.svg diff --git a/packages/app/src/assets/file-icons/d.svg b/packages/desktop/src/assets/file-icons/d.svg similarity index 100% rename from packages/app/src/assets/file-icons/d.svg rename to packages/desktop/src/assets/file-icons/d.svg diff --git a/packages/app/src/assets/file-icons/dart.svg b/packages/desktop/src/assets/file-icons/dart.svg similarity index 100% rename from packages/app/src/assets/file-icons/dart.svg rename to packages/desktop/src/assets/file-icons/dart.svg diff --git a/packages/app/src/assets/file-icons/dart_generated.svg b/packages/desktop/src/assets/file-icons/dart_generated.svg similarity index 100% rename from packages/app/src/assets/file-icons/dart_generated.svg rename to packages/desktop/src/assets/file-icons/dart_generated.svg diff --git a/packages/app/src/assets/file-icons/database.svg b/packages/desktop/src/assets/file-icons/database.svg similarity index 100% rename from packages/app/src/assets/file-icons/database.svg rename to packages/desktop/src/assets/file-icons/database.svg diff --git a/packages/app/src/assets/file-icons/deepsource.svg b/packages/desktop/src/assets/file-icons/deepsource.svg similarity index 100% rename from packages/app/src/assets/file-icons/deepsource.svg rename to packages/desktop/src/assets/file-icons/deepsource.svg diff --git a/packages/app/src/assets/file-icons/denizenscript.svg b/packages/desktop/src/assets/file-icons/denizenscript.svg similarity index 100% rename from packages/app/src/assets/file-icons/denizenscript.svg rename to packages/desktop/src/assets/file-icons/denizenscript.svg diff --git a/packages/app/src/assets/file-icons/deno.svg b/packages/desktop/src/assets/file-icons/deno.svg similarity index 100% rename from packages/app/src/assets/file-icons/deno.svg rename to packages/desktop/src/assets/file-icons/deno.svg diff --git a/packages/app/src/assets/file-icons/deno_light.svg b/packages/desktop/src/assets/file-icons/deno_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/deno_light.svg rename to packages/desktop/src/assets/file-icons/deno_light.svg diff --git a/packages/app/src/assets/file-icons/dependabot.svg b/packages/desktop/src/assets/file-icons/dependabot.svg similarity index 100% rename from packages/app/src/assets/file-icons/dependabot.svg rename to packages/desktop/src/assets/file-icons/dependabot.svg diff --git a/packages/app/src/assets/file-icons/dependencies-update.svg b/packages/desktop/src/assets/file-icons/dependencies-update.svg similarity index 100% rename from packages/app/src/assets/file-icons/dependencies-update.svg rename to packages/desktop/src/assets/file-icons/dependencies-update.svg diff --git a/packages/app/src/assets/file-icons/dhall.svg b/packages/desktop/src/assets/file-icons/dhall.svg similarity index 100% rename from packages/app/src/assets/file-icons/dhall.svg rename to packages/desktop/src/assets/file-icons/dhall.svg diff --git a/packages/app/src/assets/file-icons/diff.svg b/packages/desktop/src/assets/file-icons/diff.svg similarity index 100% rename from packages/app/src/assets/file-icons/diff.svg rename to packages/desktop/src/assets/file-icons/diff.svg diff --git a/packages/app/src/assets/file-icons/dinophp.svg b/packages/desktop/src/assets/file-icons/dinophp.svg similarity index 100% rename from packages/app/src/assets/file-icons/dinophp.svg rename to packages/desktop/src/assets/file-icons/dinophp.svg diff --git a/packages/app/src/assets/file-icons/disc.svg b/packages/desktop/src/assets/file-icons/disc.svg similarity index 100% rename from packages/app/src/assets/file-icons/disc.svg rename to packages/desktop/src/assets/file-icons/disc.svg diff --git a/packages/app/src/assets/file-icons/django.svg b/packages/desktop/src/assets/file-icons/django.svg similarity index 100% rename from packages/app/src/assets/file-icons/django.svg rename to packages/desktop/src/assets/file-icons/django.svg diff --git a/packages/app/src/assets/file-icons/dll.svg b/packages/desktop/src/assets/file-icons/dll.svg similarity index 100% rename from packages/app/src/assets/file-icons/dll.svg rename to packages/desktop/src/assets/file-icons/dll.svg diff --git a/packages/app/src/assets/file-icons/docker.svg b/packages/desktop/src/assets/file-icons/docker.svg similarity index 100% rename from packages/app/src/assets/file-icons/docker.svg rename to packages/desktop/src/assets/file-icons/docker.svg diff --git a/packages/app/src/assets/file-icons/doctex-installer.svg b/packages/desktop/src/assets/file-icons/doctex-installer.svg similarity index 100% rename from packages/app/src/assets/file-icons/doctex-installer.svg rename to packages/desktop/src/assets/file-icons/doctex-installer.svg diff --git a/packages/app/src/assets/file-icons/document.svg b/packages/desktop/src/assets/file-icons/document.svg similarity index 100% rename from packages/app/src/assets/file-icons/document.svg rename to packages/desktop/src/assets/file-icons/document.svg diff --git a/packages/app/src/assets/file-icons/dotjs.svg b/packages/desktop/src/assets/file-icons/dotjs.svg similarity index 100% rename from packages/app/src/assets/file-icons/dotjs.svg rename to packages/desktop/src/assets/file-icons/dotjs.svg diff --git a/packages/app/src/assets/file-icons/drawio.svg b/packages/desktop/src/assets/file-icons/drawio.svg similarity index 100% rename from packages/app/src/assets/file-icons/drawio.svg rename to packages/desktop/src/assets/file-icons/drawio.svg diff --git a/packages/app/src/assets/file-icons/drizzle.svg b/packages/desktop/src/assets/file-icons/drizzle.svg similarity index 100% rename from packages/app/src/assets/file-icons/drizzle.svg rename to packages/desktop/src/assets/file-icons/drizzle.svg diff --git a/packages/app/src/assets/file-icons/drone.svg b/packages/desktop/src/assets/file-icons/drone.svg similarity index 100% rename from packages/app/src/assets/file-icons/drone.svg rename to packages/desktop/src/assets/file-icons/drone.svg diff --git a/packages/app/src/assets/file-icons/drone_light.svg b/packages/desktop/src/assets/file-icons/drone_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/drone_light.svg rename to packages/desktop/src/assets/file-icons/drone_light.svg diff --git a/packages/app/src/assets/file-icons/duc.svg b/packages/desktop/src/assets/file-icons/duc.svg similarity index 100% rename from packages/app/src/assets/file-icons/duc.svg rename to packages/desktop/src/assets/file-icons/duc.svg diff --git a/packages/app/src/assets/file-icons/dune.svg b/packages/desktop/src/assets/file-icons/dune.svg similarity index 100% rename from packages/app/src/assets/file-icons/dune.svg rename to packages/desktop/src/assets/file-icons/dune.svg diff --git a/packages/app/src/assets/file-icons/edge.svg b/packages/desktop/src/assets/file-icons/edge.svg similarity index 100% rename from packages/app/src/assets/file-icons/edge.svg rename to packages/desktop/src/assets/file-icons/edge.svg diff --git a/packages/app/src/assets/file-icons/editorconfig.svg b/packages/desktop/src/assets/file-icons/editorconfig.svg similarity index 100% rename from packages/app/src/assets/file-icons/editorconfig.svg rename to packages/desktop/src/assets/file-icons/editorconfig.svg diff --git a/packages/app/src/assets/file-icons/ejs.svg b/packages/desktop/src/assets/file-icons/ejs.svg similarity index 100% rename from packages/app/src/assets/file-icons/ejs.svg rename to packages/desktop/src/assets/file-icons/ejs.svg diff --git a/packages/app/src/assets/file-icons/elixir.svg b/packages/desktop/src/assets/file-icons/elixir.svg similarity index 100% rename from packages/app/src/assets/file-icons/elixir.svg rename to packages/desktop/src/assets/file-icons/elixir.svg diff --git a/packages/app/src/assets/file-icons/elm.svg b/packages/desktop/src/assets/file-icons/elm.svg similarity index 100% rename from packages/app/src/assets/file-icons/elm.svg rename to packages/desktop/src/assets/file-icons/elm.svg diff --git a/packages/app/src/assets/file-icons/email.svg b/packages/desktop/src/assets/file-icons/email.svg similarity index 100% rename from packages/app/src/assets/file-icons/email.svg rename to packages/desktop/src/assets/file-icons/email.svg diff --git a/packages/app/src/assets/file-icons/ember.svg b/packages/desktop/src/assets/file-icons/ember.svg similarity index 100% rename from packages/app/src/assets/file-icons/ember.svg rename to packages/desktop/src/assets/file-icons/ember.svg diff --git a/packages/app/src/assets/file-icons/epub.svg b/packages/desktop/src/assets/file-icons/epub.svg similarity index 100% rename from packages/app/src/assets/file-icons/epub.svg rename to packages/desktop/src/assets/file-icons/epub.svg diff --git a/packages/app/src/assets/file-icons/erlang.svg b/packages/desktop/src/assets/file-icons/erlang.svg similarity index 100% rename from packages/app/src/assets/file-icons/erlang.svg rename to packages/desktop/src/assets/file-icons/erlang.svg diff --git a/packages/app/src/assets/file-icons/esbuild.svg b/packages/desktop/src/assets/file-icons/esbuild.svg similarity index 100% rename from packages/app/src/assets/file-icons/esbuild.svg rename to packages/desktop/src/assets/file-icons/esbuild.svg diff --git a/packages/app/src/assets/file-icons/eslint.svg b/packages/desktop/src/assets/file-icons/eslint.svg similarity index 100% rename from packages/app/src/assets/file-icons/eslint.svg rename to packages/desktop/src/assets/file-icons/eslint.svg diff --git a/packages/app/src/assets/file-icons/excalidraw.svg b/packages/desktop/src/assets/file-icons/excalidraw.svg similarity index 100% rename from packages/app/src/assets/file-icons/excalidraw.svg rename to packages/desktop/src/assets/file-icons/excalidraw.svg diff --git a/packages/app/src/assets/file-icons/exe.svg b/packages/desktop/src/assets/file-icons/exe.svg similarity index 100% rename from packages/app/src/assets/file-icons/exe.svg rename to packages/desktop/src/assets/file-icons/exe.svg diff --git a/packages/app/src/assets/file-icons/fastlane.svg b/packages/desktop/src/assets/file-icons/fastlane.svg similarity index 100% rename from packages/app/src/assets/file-icons/fastlane.svg rename to packages/desktop/src/assets/file-icons/fastlane.svg diff --git a/packages/app/src/assets/file-icons/favicon.svg b/packages/desktop/src/assets/file-icons/favicon.svg similarity index 100% rename from packages/app/src/assets/file-icons/favicon.svg rename to packages/desktop/src/assets/file-icons/favicon.svg diff --git a/packages/app/src/assets/file-icons/figma.svg b/packages/desktop/src/assets/file-icons/figma.svg similarity index 100% rename from packages/app/src/assets/file-icons/figma.svg rename to packages/desktop/src/assets/file-icons/figma.svg diff --git a/packages/app/src/assets/file-icons/firebase.svg b/packages/desktop/src/assets/file-icons/firebase.svg similarity index 100% rename from packages/app/src/assets/file-icons/firebase.svg rename to packages/desktop/src/assets/file-icons/firebase.svg diff --git a/packages/app/src/assets/file-icons/flash.svg b/packages/desktop/src/assets/file-icons/flash.svg similarity index 100% rename from packages/app/src/assets/file-icons/flash.svg rename to packages/desktop/src/assets/file-icons/flash.svg diff --git a/packages/app/src/assets/file-icons/flow.svg b/packages/desktop/src/assets/file-icons/flow.svg similarity index 100% rename from packages/app/src/assets/file-icons/flow.svg rename to packages/desktop/src/assets/file-icons/flow.svg diff --git a/packages/app/src/assets/file-icons/folder-admin-open.svg b/packages/desktop/src/assets/file-icons/folder-admin-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-admin-open.svg rename to packages/desktop/src/assets/file-icons/folder-admin-open.svg diff --git a/packages/app/src/assets/file-icons/folder-admin.svg b/packages/desktop/src/assets/file-icons/folder-admin.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-admin.svg rename to packages/desktop/src/assets/file-icons/folder-admin.svg diff --git a/packages/app/src/assets/file-icons/folder-android-open.svg b/packages/desktop/src/assets/file-icons/folder-android-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-android-open.svg rename to packages/desktop/src/assets/file-icons/folder-android-open.svg diff --git a/packages/app/src/assets/file-icons/folder-android.svg b/packages/desktop/src/assets/file-icons/folder-android.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-android.svg rename to packages/desktop/src/assets/file-icons/folder-android.svg diff --git a/packages/app/src/assets/file-icons/folder-angular-open.svg b/packages/desktop/src/assets/file-icons/folder-angular-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-angular-open.svg rename to packages/desktop/src/assets/file-icons/folder-angular-open.svg diff --git a/packages/app/src/assets/file-icons/folder-angular.svg b/packages/desktop/src/assets/file-icons/folder-angular.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-angular.svg rename to packages/desktop/src/assets/file-icons/folder-angular.svg diff --git a/packages/app/src/assets/file-icons/folder-animation-open.svg b/packages/desktop/src/assets/file-icons/folder-animation-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-animation-open.svg rename to packages/desktop/src/assets/file-icons/folder-animation-open.svg diff --git a/packages/app/src/assets/file-icons/folder-animation.svg b/packages/desktop/src/assets/file-icons/folder-animation.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-animation.svg rename to packages/desktop/src/assets/file-icons/folder-animation.svg diff --git a/packages/app/src/assets/file-icons/folder-ansible-open.svg b/packages/desktop/src/assets/file-icons/folder-ansible-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ansible-open.svg rename to packages/desktop/src/assets/file-icons/folder-ansible-open.svg diff --git a/packages/app/src/assets/file-icons/folder-ansible.svg b/packages/desktop/src/assets/file-icons/folder-ansible.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ansible.svg rename to packages/desktop/src/assets/file-icons/folder-ansible.svg diff --git a/packages/app/src/assets/file-icons/folder-api-open.svg b/packages/desktop/src/assets/file-icons/folder-api-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-api-open.svg rename to packages/desktop/src/assets/file-icons/folder-api-open.svg diff --git a/packages/app/src/assets/file-icons/folder-api.svg b/packages/desktop/src/assets/file-icons/folder-api.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-api.svg rename to packages/desktop/src/assets/file-icons/folder-api.svg diff --git a/packages/app/src/assets/file-icons/folder-apollo-open.svg b/packages/desktop/src/assets/file-icons/folder-apollo-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-apollo-open.svg rename to packages/desktop/src/assets/file-icons/folder-apollo-open.svg diff --git a/packages/app/src/assets/file-icons/folder-apollo.svg b/packages/desktop/src/assets/file-icons/folder-apollo.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-apollo.svg rename to packages/desktop/src/assets/file-icons/folder-apollo.svg diff --git a/packages/app/src/assets/file-icons/folder-app-open.svg b/packages/desktop/src/assets/file-icons/folder-app-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-app-open.svg rename to packages/desktop/src/assets/file-icons/folder-app-open.svg diff --git a/packages/app/src/assets/file-icons/folder-app.svg b/packages/desktop/src/assets/file-icons/folder-app.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-app.svg rename to packages/desktop/src/assets/file-icons/folder-app.svg diff --git a/packages/app/src/assets/file-icons/folder-archive-open.svg b/packages/desktop/src/assets/file-icons/folder-archive-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-archive-open.svg rename to packages/desktop/src/assets/file-icons/folder-archive-open.svg diff --git a/packages/app/src/assets/file-icons/folder-archive.svg b/packages/desktop/src/assets/file-icons/folder-archive.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-archive.svg rename to packages/desktop/src/assets/file-icons/folder-archive.svg diff --git a/packages/app/src/assets/file-icons/folder-astro-open.svg b/packages/desktop/src/assets/file-icons/folder-astro-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-astro-open.svg rename to packages/desktop/src/assets/file-icons/folder-astro-open.svg diff --git a/packages/app/src/assets/file-icons/folder-astro.svg b/packages/desktop/src/assets/file-icons/folder-astro.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-astro.svg rename to packages/desktop/src/assets/file-icons/folder-astro.svg diff --git a/packages/app/src/assets/file-icons/folder-atom-open.svg b/packages/desktop/src/assets/file-icons/folder-atom-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-atom-open.svg rename to packages/desktop/src/assets/file-icons/folder-atom-open.svg diff --git a/packages/app/src/assets/file-icons/folder-atom.svg b/packages/desktop/src/assets/file-icons/folder-atom.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-atom.svg rename to packages/desktop/src/assets/file-icons/folder-atom.svg diff --git a/packages/app/src/assets/file-icons/folder-attachment-open.svg b/packages/desktop/src/assets/file-icons/folder-attachment-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-attachment-open.svg rename to packages/desktop/src/assets/file-icons/folder-attachment-open.svg diff --git a/packages/app/src/assets/file-icons/folder-attachment.svg b/packages/desktop/src/assets/file-icons/folder-attachment.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-attachment.svg rename to packages/desktop/src/assets/file-icons/folder-attachment.svg diff --git a/packages/app/src/assets/file-icons/folder-audio-open.svg b/packages/desktop/src/assets/file-icons/folder-audio-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-audio-open.svg rename to packages/desktop/src/assets/file-icons/folder-audio-open.svg diff --git a/packages/app/src/assets/file-icons/folder-audio.svg b/packages/desktop/src/assets/file-icons/folder-audio.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-audio.svg rename to packages/desktop/src/assets/file-icons/folder-audio.svg diff --git a/packages/app/src/assets/file-icons/folder-aurelia-open.svg b/packages/desktop/src/assets/file-icons/folder-aurelia-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-aurelia-open.svg rename to packages/desktop/src/assets/file-icons/folder-aurelia-open.svg diff --git a/packages/app/src/assets/file-icons/folder-aurelia.svg b/packages/desktop/src/assets/file-icons/folder-aurelia.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-aurelia.svg rename to packages/desktop/src/assets/file-icons/folder-aurelia.svg diff --git a/packages/app/src/assets/file-icons/folder-aws-open.svg b/packages/desktop/src/assets/file-icons/folder-aws-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-aws-open.svg rename to packages/desktop/src/assets/file-icons/folder-aws-open.svg diff --git a/packages/app/src/assets/file-icons/folder-aws.svg b/packages/desktop/src/assets/file-icons/folder-aws.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-aws.svg rename to packages/desktop/src/assets/file-icons/folder-aws.svg diff --git a/packages/app/src/assets/file-icons/folder-azure-pipelines-open.svg b/packages/desktop/src/assets/file-icons/folder-azure-pipelines-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-azure-pipelines-open.svg rename to packages/desktop/src/assets/file-icons/folder-azure-pipelines-open.svg diff --git a/packages/app/src/assets/file-icons/folder-azure-pipelines.svg b/packages/desktop/src/assets/file-icons/folder-azure-pipelines.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-azure-pipelines.svg rename to packages/desktop/src/assets/file-icons/folder-azure-pipelines.svg diff --git a/packages/app/src/assets/file-icons/folder-backup-open.svg b/packages/desktop/src/assets/file-icons/folder-backup-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-backup-open.svg rename to packages/desktop/src/assets/file-icons/folder-backup-open.svg diff --git a/packages/app/src/assets/file-icons/folder-backup.svg b/packages/desktop/src/assets/file-icons/folder-backup.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-backup.svg rename to packages/desktop/src/assets/file-icons/folder-backup.svg diff --git a/packages/app/src/assets/file-icons/folder-base-open.svg b/packages/desktop/src/assets/file-icons/folder-base-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-base-open.svg rename to packages/desktop/src/assets/file-icons/folder-base-open.svg diff --git a/packages/app/src/assets/file-icons/folder-base.svg b/packages/desktop/src/assets/file-icons/folder-base.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-base.svg rename to packages/desktop/src/assets/file-icons/folder-base.svg diff --git a/packages/app/src/assets/file-icons/folder-batch-open.svg b/packages/desktop/src/assets/file-icons/folder-batch-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-batch-open.svg rename to packages/desktop/src/assets/file-icons/folder-batch-open.svg diff --git a/packages/app/src/assets/file-icons/folder-batch.svg b/packages/desktop/src/assets/file-icons/folder-batch.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-batch.svg rename to packages/desktop/src/assets/file-icons/folder-batch.svg diff --git a/packages/app/src/assets/file-icons/folder-benchmark-open.svg b/packages/desktop/src/assets/file-icons/folder-benchmark-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-benchmark-open.svg rename to packages/desktop/src/assets/file-icons/folder-benchmark-open.svg diff --git a/packages/app/src/assets/file-icons/folder-benchmark.svg b/packages/desktop/src/assets/file-icons/folder-benchmark.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-benchmark.svg rename to packages/desktop/src/assets/file-icons/folder-benchmark.svg diff --git a/packages/app/src/assets/file-icons/folder-bibliography-open.svg b/packages/desktop/src/assets/file-icons/folder-bibliography-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-bibliography-open.svg rename to packages/desktop/src/assets/file-icons/folder-bibliography-open.svg diff --git a/packages/app/src/assets/file-icons/folder-bibliography.svg b/packages/desktop/src/assets/file-icons/folder-bibliography.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-bibliography.svg rename to packages/desktop/src/assets/file-icons/folder-bibliography.svg diff --git a/packages/app/src/assets/file-icons/folder-bicep-open.svg b/packages/desktop/src/assets/file-icons/folder-bicep-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-bicep-open.svg rename to packages/desktop/src/assets/file-icons/folder-bicep-open.svg diff --git a/packages/app/src/assets/file-icons/folder-bicep.svg b/packages/desktop/src/assets/file-icons/folder-bicep.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-bicep.svg rename to packages/desktop/src/assets/file-icons/folder-bicep.svg diff --git a/packages/app/src/assets/file-icons/folder-blender-open.svg b/packages/desktop/src/assets/file-icons/folder-blender-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-blender-open.svg rename to packages/desktop/src/assets/file-icons/folder-blender-open.svg diff --git a/packages/app/src/assets/file-icons/folder-blender.svg b/packages/desktop/src/assets/file-icons/folder-blender.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-blender.svg rename to packages/desktop/src/assets/file-icons/folder-blender.svg diff --git a/packages/app/src/assets/file-icons/folder-bloc-open.svg b/packages/desktop/src/assets/file-icons/folder-bloc-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-bloc-open.svg rename to packages/desktop/src/assets/file-icons/folder-bloc-open.svg diff --git a/packages/app/src/assets/file-icons/folder-bloc.svg b/packages/desktop/src/assets/file-icons/folder-bloc.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-bloc.svg rename to packages/desktop/src/assets/file-icons/folder-bloc.svg diff --git a/packages/app/src/assets/file-icons/folder-bower-open.svg b/packages/desktop/src/assets/file-icons/folder-bower-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-bower-open.svg rename to packages/desktop/src/assets/file-icons/folder-bower-open.svg diff --git a/packages/app/src/assets/file-icons/folder-bower.svg b/packages/desktop/src/assets/file-icons/folder-bower.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-bower.svg rename to packages/desktop/src/assets/file-icons/folder-bower.svg diff --git a/packages/app/src/assets/file-icons/folder-buildkite-open.svg b/packages/desktop/src/assets/file-icons/folder-buildkite-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-buildkite-open.svg rename to packages/desktop/src/assets/file-icons/folder-buildkite-open.svg diff --git a/packages/app/src/assets/file-icons/folder-buildkite.svg b/packages/desktop/src/assets/file-icons/folder-buildkite.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-buildkite.svg rename to packages/desktop/src/assets/file-icons/folder-buildkite.svg diff --git a/packages/app/src/assets/file-icons/folder-cart-open.svg b/packages/desktop/src/assets/file-icons/folder-cart-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cart-open.svg rename to packages/desktop/src/assets/file-icons/folder-cart-open.svg diff --git a/packages/app/src/assets/file-icons/folder-cart.svg b/packages/desktop/src/assets/file-icons/folder-cart.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cart.svg rename to packages/desktop/src/assets/file-icons/folder-cart.svg diff --git a/packages/app/src/assets/file-icons/folder-changesets-open.svg b/packages/desktop/src/assets/file-icons/folder-changesets-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-changesets-open.svg rename to packages/desktop/src/assets/file-icons/folder-changesets-open.svg diff --git a/packages/app/src/assets/file-icons/folder-changesets.svg b/packages/desktop/src/assets/file-icons/folder-changesets.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-changesets.svg rename to packages/desktop/src/assets/file-icons/folder-changesets.svg diff --git a/packages/app/src/assets/file-icons/folder-ci-open.svg b/packages/desktop/src/assets/file-icons/folder-ci-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ci-open.svg rename to packages/desktop/src/assets/file-icons/folder-ci-open.svg diff --git a/packages/app/src/assets/file-icons/folder-ci.svg b/packages/desktop/src/assets/file-icons/folder-ci.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ci.svg rename to packages/desktop/src/assets/file-icons/folder-ci.svg diff --git a/packages/app/src/assets/file-icons/folder-circleci-open.svg b/packages/desktop/src/assets/file-icons/folder-circleci-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-circleci-open.svg rename to packages/desktop/src/assets/file-icons/folder-circleci-open.svg diff --git a/packages/app/src/assets/file-icons/folder-circleci.svg b/packages/desktop/src/assets/file-icons/folder-circleci.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-circleci.svg rename to packages/desktop/src/assets/file-icons/folder-circleci.svg diff --git a/packages/app/src/assets/file-icons/folder-class-open.svg b/packages/desktop/src/assets/file-icons/folder-class-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-class-open.svg rename to packages/desktop/src/assets/file-icons/folder-class-open.svg diff --git a/packages/app/src/assets/file-icons/folder-class.svg b/packages/desktop/src/assets/file-icons/folder-class.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-class.svg rename to packages/desktop/src/assets/file-icons/folder-class.svg diff --git a/packages/app/src/assets/file-icons/folder-claude-open.svg b/packages/desktop/src/assets/file-icons/folder-claude-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-claude-open.svg rename to packages/desktop/src/assets/file-icons/folder-claude-open.svg diff --git a/packages/app/src/assets/file-icons/folder-claude.svg b/packages/desktop/src/assets/file-icons/folder-claude.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-claude.svg rename to packages/desktop/src/assets/file-icons/folder-claude.svg diff --git a/packages/app/src/assets/file-icons/folder-client-open.svg b/packages/desktop/src/assets/file-icons/folder-client-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-client-open.svg rename to packages/desktop/src/assets/file-icons/folder-client-open.svg diff --git a/packages/app/src/assets/file-icons/folder-client.svg b/packages/desktop/src/assets/file-icons/folder-client.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-client.svg rename to packages/desktop/src/assets/file-icons/folder-client.svg diff --git a/packages/app/src/assets/file-icons/folder-cline-open.svg b/packages/desktop/src/assets/file-icons/folder-cline-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cline-open.svg rename to packages/desktop/src/assets/file-icons/folder-cline-open.svg diff --git a/packages/app/src/assets/file-icons/folder-cline.svg b/packages/desktop/src/assets/file-icons/folder-cline.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cline.svg rename to packages/desktop/src/assets/file-icons/folder-cline.svg diff --git a/packages/app/src/assets/file-icons/folder-cloud-functions-open.svg b/packages/desktop/src/assets/file-icons/folder-cloud-functions-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cloud-functions-open.svg rename to packages/desktop/src/assets/file-icons/folder-cloud-functions-open.svg diff --git a/packages/app/src/assets/file-icons/folder-cloud-functions.svg b/packages/desktop/src/assets/file-icons/folder-cloud-functions.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cloud-functions.svg rename to packages/desktop/src/assets/file-icons/folder-cloud-functions.svg diff --git a/packages/app/src/assets/file-icons/folder-cloudflare-open.svg b/packages/desktop/src/assets/file-icons/folder-cloudflare-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cloudflare-open.svg rename to packages/desktop/src/assets/file-icons/folder-cloudflare-open.svg diff --git a/packages/app/src/assets/file-icons/folder-cloudflare.svg b/packages/desktop/src/assets/file-icons/folder-cloudflare.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cloudflare.svg rename to packages/desktop/src/assets/file-icons/folder-cloudflare.svg diff --git a/packages/app/src/assets/file-icons/folder-cluster-open.svg b/packages/desktop/src/assets/file-icons/folder-cluster-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cluster-open.svg rename to packages/desktop/src/assets/file-icons/folder-cluster-open.svg diff --git a/packages/app/src/assets/file-icons/folder-cluster.svg b/packages/desktop/src/assets/file-icons/folder-cluster.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cluster.svg rename to packages/desktop/src/assets/file-icons/folder-cluster.svg diff --git a/packages/app/src/assets/file-icons/folder-cobol-open.svg b/packages/desktop/src/assets/file-icons/folder-cobol-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cobol-open.svg rename to packages/desktop/src/assets/file-icons/folder-cobol-open.svg diff --git a/packages/app/src/assets/file-icons/folder-cobol.svg b/packages/desktop/src/assets/file-icons/folder-cobol.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cobol.svg rename to packages/desktop/src/assets/file-icons/folder-cobol.svg diff --git a/packages/app/src/assets/file-icons/folder-command-open.svg b/packages/desktop/src/assets/file-icons/folder-command-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-command-open.svg rename to packages/desktop/src/assets/file-icons/folder-command-open.svg diff --git a/packages/app/src/assets/file-icons/folder-command.svg b/packages/desktop/src/assets/file-icons/folder-command.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-command.svg rename to packages/desktop/src/assets/file-icons/folder-command.svg diff --git a/packages/app/src/assets/file-icons/folder-components-open.svg b/packages/desktop/src/assets/file-icons/folder-components-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-components-open.svg rename to packages/desktop/src/assets/file-icons/folder-components-open.svg diff --git a/packages/app/src/assets/file-icons/folder-components.svg b/packages/desktop/src/assets/file-icons/folder-components.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-components.svg rename to packages/desktop/src/assets/file-icons/folder-components.svg diff --git a/packages/app/src/assets/file-icons/folder-config-open.svg b/packages/desktop/src/assets/file-icons/folder-config-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-config-open.svg rename to packages/desktop/src/assets/file-icons/folder-config-open.svg diff --git a/packages/app/src/assets/file-icons/folder-config.svg b/packages/desktop/src/assets/file-icons/folder-config.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-config.svg rename to packages/desktop/src/assets/file-icons/folder-config.svg diff --git a/packages/app/src/assets/file-icons/folder-connection-open.svg b/packages/desktop/src/assets/file-icons/folder-connection-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-connection-open.svg rename to packages/desktop/src/assets/file-icons/folder-connection-open.svg diff --git a/packages/app/src/assets/file-icons/folder-connection.svg b/packages/desktop/src/assets/file-icons/folder-connection.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-connection.svg rename to packages/desktop/src/assets/file-icons/folder-connection.svg diff --git a/packages/app/src/assets/file-icons/folder-console-open.svg b/packages/desktop/src/assets/file-icons/folder-console-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-console-open.svg rename to packages/desktop/src/assets/file-icons/folder-console-open.svg diff --git a/packages/app/src/assets/file-icons/folder-console.svg b/packages/desktop/src/assets/file-icons/folder-console.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-console.svg rename to packages/desktop/src/assets/file-icons/folder-console.svg diff --git a/packages/app/src/assets/file-icons/folder-constant-open.svg b/packages/desktop/src/assets/file-icons/folder-constant-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-constant-open.svg rename to packages/desktop/src/assets/file-icons/folder-constant-open.svg diff --git a/packages/app/src/assets/file-icons/folder-constant.svg b/packages/desktop/src/assets/file-icons/folder-constant.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-constant.svg rename to packages/desktop/src/assets/file-icons/folder-constant.svg diff --git a/packages/app/src/assets/file-icons/folder-container-open.svg b/packages/desktop/src/assets/file-icons/folder-container-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-container-open.svg rename to packages/desktop/src/assets/file-icons/folder-container-open.svg diff --git a/packages/app/src/assets/file-icons/folder-container.svg b/packages/desktop/src/assets/file-icons/folder-container.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-container.svg rename to packages/desktop/src/assets/file-icons/folder-container.svg diff --git a/packages/app/src/assets/file-icons/folder-content-open.svg b/packages/desktop/src/assets/file-icons/folder-content-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-content-open.svg rename to packages/desktop/src/assets/file-icons/folder-content-open.svg diff --git a/packages/app/src/assets/file-icons/folder-content.svg b/packages/desktop/src/assets/file-icons/folder-content.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-content.svg rename to packages/desktop/src/assets/file-icons/folder-content.svg diff --git a/packages/app/src/assets/file-icons/folder-context-open.svg b/packages/desktop/src/assets/file-icons/folder-context-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-context-open.svg rename to packages/desktop/src/assets/file-icons/folder-context-open.svg diff --git a/packages/app/src/assets/file-icons/folder-context.svg b/packages/desktop/src/assets/file-icons/folder-context.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-context.svg rename to packages/desktop/src/assets/file-icons/folder-context.svg diff --git a/packages/app/src/assets/file-icons/folder-contract-open.svg b/packages/desktop/src/assets/file-icons/folder-contract-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-contract-open.svg rename to packages/desktop/src/assets/file-icons/folder-contract-open.svg diff --git a/packages/app/src/assets/file-icons/folder-contract.svg b/packages/desktop/src/assets/file-icons/folder-contract.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-contract.svg rename to packages/desktop/src/assets/file-icons/folder-contract.svg diff --git a/packages/app/src/assets/file-icons/folder-controller-open.svg b/packages/desktop/src/assets/file-icons/folder-controller-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-controller-open.svg rename to packages/desktop/src/assets/file-icons/folder-controller-open.svg diff --git a/packages/app/src/assets/file-icons/folder-controller.svg b/packages/desktop/src/assets/file-icons/folder-controller.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-controller.svg rename to packages/desktop/src/assets/file-icons/folder-controller.svg diff --git a/packages/app/src/assets/file-icons/folder-core-open.svg b/packages/desktop/src/assets/file-icons/folder-core-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-core-open.svg rename to packages/desktop/src/assets/file-icons/folder-core-open.svg diff --git a/packages/app/src/assets/file-icons/folder-core.svg b/packages/desktop/src/assets/file-icons/folder-core.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-core.svg rename to packages/desktop/src/assets/file-icons/folder-core.svg diff --git a/packages/app/src/assets/file-icons/folder-coverage-open.svg b/packages/desktop/src/assets/file-icons/folder-coverage-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-coverage-open.svg rename to packages/desktop/src/assets/file-icons/folder-coverage-open.svg diff --git a/packages/app/src/assets/file-icons/folder-coverage.svg b/packages/desktop/src/assets/file-icons/folder-coverage.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-coverage.svg rename to packages/desktop/src/assets/file-icons/folder-coverage.svg diff --git a/packages/app/src/assets/file-icons/folder-css-open.svg b/packages/desktop/src/assets/file-icons/folder-css-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-css-open.svg rename to packages/desktop/src/assets/file-icons/folder-css-open.svg diff --git a/packages/app/src/assets/file-icons/folder-css.svg b/packages/desktop/src/assets/file-icons/folder-css.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-css.svg rename to packages/desktop/src/assets/file-icons/folder-css.svg diff --git a/packages/app/src/assets/file-icons/folder-cursor-open.svg b/packages/desktop/src/assets/file-icons/folder-cursor-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cursor-open.svg rename to packages/desktop/src/assets/file-icons/folder-cursor-open.svg diff --git a/packages/app/src/assets/file-icons/folder-cursor-open_light.svg b/packages/desktop/src/assets/file-icons/folder-cursor-open_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cursor-open_light.svg rename to packages/desktop/src/assets/file-icons/folder-cursor-open_light.svg diff --git a/packages/app/src/assets/file-icons/folder-cursor.svg b/packages/desktop/src/assets/file-icons/folder-cursor.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cursor.svg rename to packages/desktop/src/assets/file-icons/folder-cursor.svg diff --git a/packages/app/src/assets/file-icons/folder-cursor_light.svg b/packages/desktop/src/assets/file-icons/folder-cursor_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cursor_light.svg rename to packages/desktop/src/assets/file-icons/folder-cursor_light.svg diff --git a/packages/app/src/assets/file-icons/folder-custom-open.svg b/packages/desktop/src/assets/file-icons/folder-custom-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-custom-open.svg rename to packages/desktop/src/assets/file-icons/folder-custom-open.svg diff --git a/packages/app/src/assets/file-icons/folder-custom.svg b/packages/desktop/src/assets/file-icons/folder-custom.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-custom.svg rename to packages/desktop/src/assets/file-icons/folder-custom.svg diff --git a/packages/app/src/assets/file-icons/folder-cypress-open.svg b/packages/desktop/src/assets/file-icons/folder-cypress-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cypress-open.svg rename to packages/desktop/src/assets/file-icons/folder-cypress-open.svg diff --git a/packages/app/src/assets/file-icons/folder-cypress.svg b/packages/desktop/src/assets/file-icons/folder-cypress.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-cypress.svg rename to packages/desktop/src/assets/file-icons/folder-cypress.svg diff --git a/packages/app/src/assets/file-icons/folder-dart-open.svg b/packages/desktop/src/assets/file-icons/folder-dart-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-dart-open.svg rename to packages/desktop/src/assets/file-icons/folder-dart-open.svg diff --git a/packages/app/src/assets/file-icons/folder-dart.svg b/packages/desktop/src/assets/file-icons/folder-dart.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-dart.svg rename to packages/desktop/src/assets/file-icons/folder-dart.svg diff --git a/packages/app/src/assets/file-icons/folder-database-open.svg b/packages/desktop/src/assets/file-icons/folder-database-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-database-open.svg rename to packages/desktop/src/assets/file-icons/folder-database-open.svg diff --git a/packages/app/src/assets/file-icons/folder-database.svg b/packages/desktop/src/assets/file-icons/folder-database.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-database.svg rename to packages/desktop/src/assets/file-icons/folder-database.svg diff --git a/packages/app/src/assets/file-icons/folder-debug-open.svg b/packages/desktop/src/assets/file-icons/folder-debug-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-debug-open.svg rename to packages/desktop/src/assets/file-icons/folder-debug-open.svg diff --git a/packages/app/src/assets/file-icons/folder-debug.svg b/packages/desktop/src/assets/file-icons/folder-debug.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-debug.svg rename to packages/desktop/src/assets/file-icons/folder-debug.svg diff --git a/packages/app/src/assets/file-icons/folder-decorators-open.svg b/packages/desktop/src/assets/file-icons/folder-decorators-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-decorators-open.svg rename to packages/desktop/src/assets/file-icons/folder-decorators-open.svg diff --git a/packages/app/src/assets/file-icons/folder-decorators.svg b/packages/desktop/src/assets/file-icons/folder-decorators.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-decorators.svg rename to packages/desktop/src/assets/file-icons/folder-decorators.svg diff --git a/packages/app/src/assets/file-icons/folder-delta-open.svg b/packages/desktop/src/assets/file-icons/folder-delta-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-delta-open.svg rename to packages/desktop/src/assets/file-icons/folder-delta-open.svg diff --git a/packages/app/src/assets/file-icons/folder-delta.svg b/packages/desktop/src/assets/file-icons/folder-delta.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-delta.svg rename to packages/desktop/src/assets/file-icons/folder-delta.svg diff --git a/packages/app/src/assets/file-icons/folder-desktop-open.svg b/packages/desktop/src/assets/file-icons/folder-desktop-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-desktop-open.svg rename to packages/desktop/src/assets/file-icons/folder-desktop-open.svg diff --git a/packages/app/src/assets/file-icons/folder-desktop.svg b/packages/desktop/src/assets/file-icons/folder-desktop.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-desktop.svg rename to packages/desktop/src/assets/file-icons/folder-desktop.svg diff --git a/packages/app/src/assets/file-icons/folder-directive-open.svg b/packages/desktop/src/assets/file-icons/folder-directive-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-directive-open.svg rename to packages/desktop/src/assets/file-icons/folder-directive-open.svg diff --git a/packages/app/src/assets/file-icons/folder-directive.svg b/packages/desktop/src/assets/file-icons/folder-directive.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-directive.svg rename to packages/desktop/src/assets/file-icons/folder-directive.svg diff --git a/packages/app/src/assets/file-icons/folder-dist-open.svg b/packages/desktop/src/assets/file-icons/folder-dist-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-dist-open.svg rename to packages/desktop/src/assets/file-icons/folder-dist-open.svg diff --git a/packages/app/src/assets/file-icons/folder-dist.svg b/packages/desktop/src/assets/file-icons/folder-dist.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-dist.svg rename to packages/desktop/src/assets/file-icons/folder-dist.svg diff --git a/packages/app/src/assets/file-icons/folder-docker-open.svg b/packages/desktop/src/assets/file-icons/folder-docker-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-docker-open.svg rename to packages/desktop/src/assets/file-icons/folder-docker-open.svg diff --git a/packages/app/src/assets/file-icons/folder-docker.svg b/packages/desktop/src/assets/file-icons/folder-docker.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-docker.svg rename to packages/desktop/src/assets/file-icons/folder-docker.svg diff --git a/packages/app/src/assets/file-icons/folder-docs-open.svg b/packages/desktop/src/assets/file-icons/folder-docs-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-docs-open.svg rename to packages/desktop/src/assets/file-icons/folder-docs-open.svg diff --git a/packages/app/src/assets/file-icons/folder-docs.svg b/packages/desktop/src/assets/file-icons/folder-docs.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-docs.svg rename to packages/desktop/src/assets/file-icons/folder-docs.svg diff --git a/packages/app/src/assets/file-icons/folder-download-open.svg b/packages/desktop/src/assets/file-icons/folder-download-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-download-open.svg rename to packages/desktop/src/assets/file-icons/folder-download-open.svg diff --git a/packages/app/src/assets/file-icons/folder-download.svg b/packages/desktop/src/assets/file-icons/folder-download.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-download.svg rename to packages/desktop/src/assets/file-icons/folder-download.svg diff --git a/packages/app/src/assets/file-icons/folder-drizzle-open.svg b/packages/desktop/src/assets/file-icons/folder-drizzle-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-drizzle-open.svg rename to packages/desktop/src/assets/file-icons/folder-drizzle-open.svg diff --git a/packages/app/src/assets/file-icons/folder-drizzle.svg b/packages/desktop/src/assets/file-icons/folder-drizzle.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-drizzle.svg rename to packages/desktop/src/assets/file-icons/folder-drizzle.svg diff --git a/packages/app/src/assets/file-icons/folder-dump-open.svg b/packages/desktop/src/assets/file-icons/folder-dump-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-dump-open.svg rename to packages/desktop/src/assets/file-icons/folder-dump-open.svg diff --git a/packages/app/src/assets/file-icons/folder-dump.svg b/packages/desktop/src/assets/file-icons/folder-dump.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-dump.svg rename to packages/desktop/src/assets/file-icons/folder-dump.svg diff --git a/packages/app/src/assets/file-icons/folder-element-open.svg b/packages/desktop/src/assets/file-icons/folder-element-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-element-open.svg rename to packages/desktop/src/assets/file-icons/folder-element-open.svg diff --git a/packages/app/src/assets/file-icons/folder-element.svg b/packages/desktop/src/assets/file-icons/folder-element.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-element.svg rename to packages/desktop/src/assets/file-icons/folder-element.svg diff --git a/packages/app/src/assets/file-icons/folder-enum-open.svg b/packages/desktop/src/assets/file-icons/folder-enum-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-enum-open.svg rename to packages/desktop/src/assets/file-icons/folder-enum-open.svg diff --git a/packages/app/src/assets/file-icons/folder-enum.svg b/packages/desktop/src/assets/file-icons/folder-enum.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-enum.svg rename to packages/desktop/src/assets/file-icons/folder-enum.svg diff --git a/packages/app/src/assets/file-icons/folder-environment-open.svg b/packages/desktop/src/assets/file-icons/folder-environment-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-environment-open.svg rename to packages/desktop/src/assets/file-icons/folder-environment-open.svg diff --git a/packages/app/src/assets/file-icons/folder-environment.svg b/packages/desktop/src/assets/file-icons/folder-environment.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-environment.svg rename to packages/desktop/src/assets/file-icons/folder-environment.svg diff --git a/packages/app/src/assets/file-icons/folder-error-open.svg b/packages/desktop/src/assets/file-icons/folder-error-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-error-open.svg rename to packages/desktop/src/assets/file-icons/folder-error-open.svg diff --git a/packages/app/src/assets/file-icons/folder-error.svg b/packages/desktop/src/assets/file-icons/folder-error.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-error.svg rename to packages/desktop/src/assets/file-icons/folder-error.svg diff --git a/packages/app/src/assets/file-icons/folder-event-open.svg b/packages/desktop/src/assets/file-icons/folder-event-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-event-open.svg rename to packages/desktop/src/assets/file-icons/folder-event-open.svg diff --git a/packages/app/src/assets/file-icons/folder-event.svg b/packages/desktop/src/assets/file-icons/folder-event.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-event.svg rename to packages/desktop/src/assets/file-icons/folder-event.svg diff --git a/packages/app/src/assets/file-icons/folder-examples-open.svg b/packages/desktop/src/assets/file-icons/folder-examples-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-examples-open.svg rename to packages/desktop/src/assets/file-icons/folder-examples-open.svg diff --git a/packages/app/src/assets/file-icons/folder-examples.svg b/packages/desktop/src/assets/file-icons/folder-examples.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-examples.svg rename to packages/desktop/src/assets/file-icons/folder-examples.svg diff --git a/packages/app/src/assets/file-icons/folder-expo-open.svg b/packages/desktop/src/assets/file-icons/folder-expo-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-expo-open.svg rename to packages/desktop/src/assets/file-icons/folder-expo-open.svg diff --git a/packages/app/src/assets/file-icons/folder-expo.svg b/packages/desktop/src/assets/file-icons/folder-expo.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-expo.svg rename to packages/desktop/src/assets/file-icons/folder-expo.svg diff --git a/packages/app/src/assets/file-icons/folder-export-open.svg b/packages/desktop/src/assets/file-icons/folder-export-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-export-open.svg rename to packages/desktop/src/assets/file-icons/folder-export-open.svg diff --git a/packages/app/src/assets/file-icons/folder-export.svg b/packages/desktop/src/assets/file-icons/folder-export.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-export.svg rename to packages/desktop/src/assets/file-icons/folder-export.svg diff --git a/packages/app/src/assets/file-icons/folder-fastlane-open.svg b/packages/desktop/src/assets/file-icons/folder-fastlane-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-fastlane-open.svg rename to packages/desktop/src/assets/file-icons/folder-fastlane-open.svg diff --git a/packages/app/src/assets/file-icons/folder-fastlane.svg b/packages/desktop/src/assets/file-icons/folder-fastlane.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-fastlane.svg rename to packages/desktop/src/assets/file-icons/folder-fastlane.svg diff --git a/packages/app/src/assets/file-icons/folder-favicon-open.svg b/packages/desktop/src/assets/file-icons/folder-favicon-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-favicon-open.svg rename to packages/desktop/src/assets/file-icons/folder-favicon-open.svg diff --git a/packages/app/src/assets/file-icons/folder-favicon.svg b/packages/desktop/src/assets/file-icons/folder-favicon.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-favicon.svg rename to packages/desktop/src/assets/file-icons/folder-favicon.svg diff --git a/packages/app/src/assets/file-icons/folder-firebase-open.svg b/packages/desktop/src/assets/file-icons/folder-firebase-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-firebase-open.svg rename to packages/desktop/src/assets/file-icons/folder-firebase-open.svg diff --git a/packages/app/src/assets/file-icons/folder-firebase.svg b/packages/desktop/src/assets/file-icons/folder-firebase.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-firebase.svg rename to packages/desktop/src/assets/file-icons/folder-firebase.svg diff --git a/packages/app/src/assets/file-icons/folder-firestore-open.svg b/packages/desktop/src/assets/file-icons/folder-firestore-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-firestore-open.svg rename to packages/desktop/src/assets/file-icons/folder-firestore-open.svg diff --git a/packages/app/src/assets/file-icons/folder-firestore.svg b/packages/desktop/src/assets/file-icons/folder-firestore.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-firestore.svg rename to packages/desktop/src/assets/file-icons/folder-firestore.svg diff --git a/packages/app/src/assets/file-icons/folder-flow-open.svg b/packages/desktop/src/assets/file-icons/folder-flow-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-flow-open.svg rename to packages/desktop/src/assets/file-icons/folder-flow-open.svg diff --git a/packages/app/src/assets/file-icons/folder-flow.svg b/packages/desktop/src/assets/file-icons/folder-flow.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-flow.svg rename to packages/desktop/src/assets/file-icons/folder-flow.svg diff --git a/packages/app/src/assets/file-icons/folder-flutter-open.svg b/packages/desktop/src/assets/file-icons/folder-flutter-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-flutter-open.svg rename to packages/desktop/src/assets/file-icons/folder-flutter-open.svg diff --git a/packages/app/src/assets/file-icons/folder-flutter.svg b/packages/desktop/src/assets/file-icons/folder-flutter.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-flutter.svg rename to packages/desktop/src/assets/file-icons/folder-flutter.svg diff --git a/packages/app/src/assets/file-icons/folder-font-open.svg b/packages/desktop/src/assets/file-icons/folder-font-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-font-open.svg rename to packages/desktop/src/assets/file-icons/folder-font-open.svg diff --git a/packages/app/src/assets/file-icons/folder-font.svg b/packages/desktop/src/assets/file-icons/folder-font.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-font.svg rename to packages/desktop/src/assets/file-icons/folder-font.svg diff --git a/packages/app/src/assets/file-icons/folder-forgejo-open.svg b/packages/desktop/src/assets/file-icons/folder-forgejo-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-forgejo-open.svg rename to packages/desktop/src/assets/file-icons/folder-forgejo-open.svg diff --git a/packages/app/src/assets/file-icons/folder-forgejo.svg b/packages/desktop/src/assets/file-icons/folder-forgejo.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-forgejo.svg rename to packages/desktop/src/assets/file-icons/folder-forgejo.svg diff --git a/packages/app/src/assets/file-icons/folder-functions-open.svg b/packages/desktop/src/assets/file-icons/folder-functions-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-functions-open.svg rename to packages/desktop/src/assets/file-icons/folder-functions-open.svg diff --git a/packages/app/src/assets/file-icons/folder-functions.svg b/packages/desktop/src/assets/file-icons/folder-functions.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-functions.svg rename to packages/desktop/src/assets/file-icons/folder-functions.svg diff --git a/packages/app/src/assets/file-icons/folder-gamemaker-open.svg b/packages/desktop/src/assets/file-icons/folder-gamemaker-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gamemaker-open.svg rename to packages/desktop/src/assets/file-icons/folder-gamemaker-open.svg diff --git a/packages/app/src/assets/file-icons/folder-gamemaker.svg b/packages/desktop/src/assets/file-icons/folder-gamemaker.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gamemaker.svg rename to packages/desktop/src/assets/file-icons/folder-gamemaker.svg diff --git a/packages/app/src/assets/file-icons/folder-generator-open.svg b/packages/desktop/src/assets/file-icons/folder-generator-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-generator-open.svg rename to packages/desktop/src/assets/file-icons/folder-generator-open.svg diff --git a/packages/app/src/assets/file-icons/folder-generator.svg b/packages/desktop/src/assets/file-icons/folder-generator.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-generator.svg rename to packages/desktop/src/assets/file-icons/folder-generator.svg diff --git a/packages/app/src/assets/file-icons/folder-gh-workflows-open.svg b/packages/desktop/src/assets/file-icons/folder-gh-workflows-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gh-workflows-open.svg rename to packages/desktop/src/assets/file-icons/folder-gh-workflows-open.svg diff --git a/packages/app/src/assets/file-icons/folder-gh-workflows.svg b/packages/desktop/src/assets/file-icons/folder-gh-workflows.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gh-workflows.svg rename to packages/desktop/src/assets/file-icons/folder-gh-workflows.svg diff --git a/packages/app/src/assets/file-icons/folder-git-open.svg b/packages/desktop/src/assets/file-icons/folder-git-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-git-open.svg rename to packages/desktop/src/assets/file-icons/folder-git-open.svg diff --git a/packages/app/src/assets/file-icons/folder-git.svg b/packages/desktop/src/assets/file-icons/folder-git.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-git.svg rename to packages/desktop/src/assets/file-icons/folder-git.svg diff --git a/packages/app/src/assets/file-icons/folder-gitea-open.svg b/packages/desktop/src/assets/file-icons/folder-gitea-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gitea-open.svg rename to packages/desktop/src/assets/file-icons/folder-gitea-open.svg diff --git a/packages/app/src/assets/file-icons/folder-gitea.svg b/packages/desktop/src/assets/file-icons/folder-gitea.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gitea.svg rename to packages/desktop/src/assets/file-icons/folder-gitea.svg diff --git a/packages/app/src/assets/file-icons/folder-github-open.svg b/packages/desktop/src/assets/file-icons/folder-github-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-github-open.svg rename to packages/desktop/src/assets/file-icons/folder-github-open.svg diff --git a/packages/app/src/assets/file-icons/folder-github.svg b/packages/desktop/src/assets/file-icons/folder-github.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-github.svg rename to packages/desktop/src/assets/file-icons/folder-github.svg diff --git a/packages/app/src/assets/file-icons/folder-gitlab-open.svg b/packages/desktop/src/assets/file-icons/folder-gitlab-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gitlab-open.svg rename to packages/desktop/src/assets/file-icons/folder-gitlab-open.svg diff --git a/packages/app/src/assets/file-icons/folder-gitlab.svg b/packages/desktop/src/assets/file-icons/folder-gitlab.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gitlab.svg rename to packages/desktop/src/assets/file-icons/folder-gitlab.svg diff --git a/packages/app/src/assets/file-icons/folder-global-open.svg b/packages/desktop/src/assets/file-icons/folder-global-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-global-open.svg rename to packages/desktop/src/assets/file-icons/folder-global-open.svg diff --git a/packages/app/src/assets/file-icons/folder-global.svg b/packages/desktop/src/assets/file-icons/folder-global.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-global.svg rename to packages/desktop/src/assets/file-icons/folder-global.svg diff --git a/packages/app/src/assets/file-icons/folder-godot-open.svg b/packages/desktop/src/assets/file-icons/folder-godot-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-godot-open.svg rename to packages/desktop/src/assets/file-icons/folder-godot-open.svg diff --git a/packages/app/src/assets/file-icons/folder-godot.svg b/packages/desktop/src/assets/file-icons/folder-godot.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-godot.svg rename to packages/desktop/src/assets/file-icons/folder-godot.svg diff --git a/packages/app/src/assets/file-icons/folder-gradle-open.svg b/packages/desktop/src/assets/file-icons/folder-gradle-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gradle-open.svg rename to packages/desktop/src/assets/file-icons/folder-gradle-open.svg diff --git a/packages/app/src/assets/file-icons/folder-gradle.svg b/packages/desktop/src/assets/file-icons/folder-gradle.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gradle.svg rename to packages/desktop/src/assets/file-icons/folder-gradle.svg diff --git a/packages/app/src/assets/file-icons/folder-graphql-open.svg b/packages/desktop/src/assets/file-icons/folder-graphql-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-graphql-open.svg rename to packages/desktop/src/assets/file-icons/folder-graphql-open.svg diff --git a/packages/app/src/assets/file-icons/folder-graphql.svg b/packages/desktop/src/assets/file-icons/folder-graphql.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-graphql.svg rename to packages/desktop/src/assets/file-icons/folder-graphql.svg diff --git a/packages/app/src/assets/file-icons/folder-guard-open.svg b/packages/desktop/src/assets/file-icons/folder-guard-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-guard-open.svg rename to packages/desktop/src/assets/file-icons/folder-guard-open.svg diff --git a/packages/app/src/assets/file-icons/folder-guard.svg b/packages/desktop/src/assets/file-icons/folder-guard.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-guard.svg rename to packages/desktop/src/assets/file-icons/folder-guard.svg diff --git a/packages/app/src/assets/file-icons/folder-gulp-open.svg b/packages/desktop/src/assets/file-icons/folder-gulp-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gulp-open.svg rename to packages/desktop/src/assets/file-icons/folder-gulp-open.svg diff --git a/packages/app/src/assets/file-icons/folder-gulp.svg b/packages/desktop/src/assets/file-icons/folder-gulp.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-gulp.svg rename to packages/desktop/src/assets/file-icons/folder-gulp.svg diff --git a/packages/app/src/assets/file-icons/folder-helm-open.svg b/packages/desktop/src/assets/file-icons/folder-helm-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-helm-open.svg rename to packages/desktop/src/assets/file-icons/folder-helm-open.svg diff --git a/packages/app/src/assets/file-icons/folder-helm.svg b/packages/desktop/src/assets/file-icons/folder-helm.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-helm.svg rename to packages/desktop/src/assets/file-icons/folder-helm.svg diff --git a/packages/app/src/assets/file-icons/folder-helper-open.svg b/packages/desktop/src/assets/file-icons/folder-helper-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-helper-open.svg rename to packages/desktop/src/assets/file-icons/folder-helper-open.svg diff --git a/packages/app/src/assets/file-icons/folder-helper.svg b/packages/desktop/src/assets/file-icons/folder-helper.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-helper.svg rename to packages/desktop/src/assets/file-icons/folder-helper.svg diff --git a/packages/app/src/assets/file-icons/folder-home-open.svg b/packages/desktop/src/assets/file-icons/folder-home-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-home-open.svg rename to packages/desktop/src/assets/file-icons/folder-home-open.svg diff --git a/packages/app/src/assets/file-icons/folder-home.svg b/packages/desktop/src/assets/file-icons/folder-home.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-home.svg rename to packages/desktop/src/assets/file-icons/folder-home.svg diff --git a/packages/app/src/assets/file-icons/folder-hook-open.svg b/packages/desktop/src/assets/file-icons/folder-hook-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-hook-open.svg rename to packages/desktop/src/assets/file-icons/folder-hook-open.svg diff --git a/packages/app/src/assets/file-icons/folder-hook.svg b/packages/desktop/src/assets/file-icons/folder-hook.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-hook.svg rename to packages/desktop/src/assets/file-icons/folder-hook.svg diff --git a/packages/app/src/assets/file-icons/folder-husky-open.svg b/packages/desktop/src/assets/file-icons/folder-husky-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-husky-open.svg rename to packages/desktop/src/assets/file-icons/folder-husky-open.svg diff --git a/packages/app/src/assets/file-icons/folder-husky.svg b/packages/desktop/src/assets/file-icons/folder-husky.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-husky.svg rename to packages/desktop/src/assets/file-icons/folder-husky.svg diff --git a/packages/app/src/assets/file-icons/folder-i18n-open.svg b/packages/desktop/src/assets/file-icons/folder-i18n-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-i18n-open.svg rename to packages/desktop/src/assets/file-icons/folder-i18n-open.svg diff --git a/packages/app/src/assets/file-icons/folder-i18n.svg b/packages/desktop/src/assets/file-icons/folder-i18n.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-i18n.svg rename to packages/desktop/src/assets/file-icons/folder-i18n.svg diff --git a/packages/app/src/assets/file-icons/folder-images-open.svg b/packages/desktop/src/assets/file-icons/folder-images-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-images-open.svg rename to packages/desktop/src/assets/file-icons/folder-images-open.svg diff --git a/packages/app/src/assets/file-icons/folder-images.svg b/packages/desktop/src/assets/file-icons/folder-images.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-images.svg rename to packages/desktop/src/assets/file-icons/folder-images.svg diff --git a/packages/app/src/assets/file-icons/folder-import-open.svg b/packages/desktop/src/assets/file-icons/folder-import-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-import-open.svg rename to packages/desktop/src/assets/file-icons/folder-import-open.svg diff --git a/packages/app/src/assets/file-icons/folder-import.svg b/packages/desktop/src/assets/file-icons/folder-import.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-import.svg rename to packages/desktop/src/assets/file-icons/folder-import.svg diff --git a/packages/app/src/assets/file-icons/folder-include-open.svg b/packages/desktop/src/assets/file-icons/folder-include-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-include-open.svg rename to packages/desktop/src/assets/file-icons/folder-include-open.svg diff --git a/packages/app/src/assets/file-icons/folder-include.svg b/packages/desktop/src/assets/file-icons/folder-include.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-include.svg rename to packages/desktop/src/assets/file-icons/folder-include.svg diff --git a/packages/app/src/assets/file-icons/folder-intellij-open.svg b/packages/desktop/src/assets/file-icons/folder-intellij-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-intellij-open.svg rename to packages/desktop/src/assets/file-icons/folder-intellij-open.svg diff --git a/packages/app/src/assets/file-icons/folder-intellij-open_light.svg b/packages/desktop/src/assets/file-icons/folder-intellij-open_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-intellij-open_light.svg rename to packages/desktop/src/assets/file-icons/folder-intellij-open_light.svg diff --git a/packages/app/src/assets/file-icons/folder-intellij.svg b/packages/desktop/src/assets/file-icons/folder-intellij.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-intellij.svg rename to packages/desktop/src/assets/file-icons/folder-intellij.svg diff --git a/packages/app/src/assets/file-icons/folder-intellij_light.svg b/packages/desktop/src/assets/file-icons/folder-intellij_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-intellij_light.svg rename to packages/desktop/src/assets/file-icons/folder-intellij_light.svg diff --git a/packages/app/src/assets/file-icons/folder-interceptor-open.svg b/packages/desktop/src/assets/file-icons/folder-interceptor-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-interceptor-open.svg rename to packages/desktop/src/assets/file-icons/folder-interceptor-open.svg diff --git a/packages/app/src/assets/file-icons/folder-interceptor.svg b/packages/desktop/src/assets/file-icons/folder-interceptor.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-interceptor.svg rename to packages/desktop/src/assets/file-icons/folder-interceptor.svg diff --git a/packages/app/src/assets/file-icons/folder-interface-open.svg b/packages/desktop/src/assets/file-icons/folder-interface-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-interface-open.svg rename to packages/desktop/src/assets/file-icons/folder-interface-open.svg diff --git a/packages/app/src/assets/file-icons/folder-interface.svg b/packages/desktop/src/assets/file-icons/folder-interface.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-interface.svg rename to packages/desktop/src/assets/file-icons/folder-interface.svg diff --git a/packages/app/src/assets/file-icons/folder-ios-open.svg b/packages/desktop/src/assets/file-icons/folder-ios-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ios-open.svg rename to packages/desktop/src/assets/file-icons/folder-ios-open.svg diff --git a/packages/app/src/assets/file-icons/folder-ios.svg b/packages/desktop/src/assets/file-icons/folder-ios.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ios.svg rename to packages/desktop/src/assets/file-icons/folder-ios.svg diff --git a/packages/app/src/assets/file-icons/folder-java-open.svg b/packages/desktop/src/assets/file-icons/folder-java-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-java-open.svg rename to packages/desktop/src/assets/file-icons/folder-java-open.svg diff --git a/packages/app/src/assets/file-icons/folder-java.svg b/packages/desktop/src/assets/file-icons/folder-java.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-java.svg rename to packages/desktop/src/assets/file-icons/folder-java.svg diff --git a/packages/app/src/assets/file-icons/folder-javascript-open.svg b/packages/desktop/src/assets/file-icons/folder-javascript-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-javascript-open.svg rename to packages/desktop/src/assets/file-icons/folder-javascript-open.svg diff --git a/packages/app/src/assets/file-icons/folder-javascript.svg b/packages/desktop/src/assets/file-icons/folder-javascript.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-javascript.svg rename to packages/desktop/src/assets/file-icons/folder-javascript.svg diff --git a/packages/app/src/assets/file-icons/folder-jinja-open.svg b/packages/desktop/src/assets/file-icons/folder-jinja-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-jinja-open.svg rename to packages/desktop/src/assets/file-icons/folder-jinja-open.svg diff --git a/packages/app/src/assets/file-icons/folder-jinja-open_light.svg b/packages/desktop/src/assets/file-icons/folder-jinja-open_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-jinja-open_light.svg rename to packages/desktop/src/assets/file-icons/folder-jinja-open_light.svg diff --git a/packages/app/src/assets/file-icons/folder-jinja.svg b/packages/desktop/src/assets/file-icons/folder-jinja.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-jinja.svg rename to packages/desktop/src/assets/file-icons/folder-jinja.svg diff --git a/packages/app/src/assets/file-icons/folder-jinja_light.svg b/packages/desktop/src/assets/file-icons/folder-jinja_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-jinja_light.svg rename to packages/desktop/src/assets/file-icons/folder-jinja_light.svg diff --git a/packages/app/src/assets/file-icons/folder-job-open.svg b/packages/desktop/src/assets/file-icons/folder-job-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-job-open.svg rename to packages/desktop/src/assets/file-icons/folder-job-open.svg diff --git a/packages/app/src/assets/file-icons/folder-job.svg b/packages/desktop/src/assets/file-icons/folder-job.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-job.svg rename to packages/desktop/src/assets/file-icons/folder-job.svg diff --git a/packages/app/src/assets/file-icons/folder-json-open.svg b/packages/desktop/src/assets/file-icons/folder-json-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-json-open.svg rename to packages/desktop/src/assets/file-icons/folder-json-open.svg diff --git a/packages/app/src/assets/file-icons/folder-json.svg b/packages/desktop/src/assets/file-icons/folder-json.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-json.svg rename to packages/desktop/src/assets/file-icons/folder-json.svg diff --git a/packages/app/src/assets/file-icons/folder-jupyter-open.svg b/packages/desktop/src/assets/file-icons/folder-jupyter-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-jupyter-open.svg rename to packages/desktop/src/assets/file-icons/folder-jupyter-open.svg diff --git a/packages/app/src/assets/file-icons/folder-jupyter.svg b/packages/desktop/src/assets/file-icons/folder-jupyter.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-jupyter.svg rename to packages/desktop/src/assets/file-icons/folder-jupyter.svg diff --git a/packages/app/src/assets/file-icons/folder-keys-open.svg b/packages/desktop/src/assets/file-icons/folder-keys-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-keys-open.svg rename to packages/desktop/src/assets/file-icons/folder-keys-open.svg diff --git a/packages/app/src/assets/file-icons/folder-keys.svg b/packages/desktop/src/assets/file-icons/folder-keys.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-keys.svg rename to packages/desktop/src/assets/file-icons/folder-keys.svg diff --git a/packages/app/src/assets/file-icons/folder-kubernetes-open.svg b/packages/desktop/src/assets/file-icons/folder-kubernetes-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-kubernetes-open.svg rename to packages/desktop/src/assets/file-icons/folder-kubernetes-open.svg diff --git a/packages/app/src/assets/file-icons/folder-kubernetes.svg b/packages/desktop/src/assets/file-icons/folder-kubernetes.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-kubernetes.svg rename to packages/desktop/src/assets/file-icons/folder-kubernetes.svg diff --git a/packages/app/src/assets/file-icons/folder-kusto-open.svg b/packages/desktop/src/assets/file-icons/folder-kusto-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-kusto-open.svg rename to packages/desktop/src/assets/file-icons/folder-kusto-open.svg diff --git a/packages/app/src/assets/file-icons/folder-kusto.svg b/packages/desktop/src/assets/file-icons/folder-kusto.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-kusto.svg rename to packages/desktop/src/assets/file-icons/folder-kusto.svg diff --git a/packages/app/src/assets/file-icons/folder-layout-open.svg b/packages/desktop/src/assets/file-icons/folder-layout-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-layout-open.svg rename to packages/desktop/src/assets/file-icons/folder-layout-open.svg diff --git a/packages/app/src/assets/file-icons/folder-layout.svg b/packages/desktop/src/assets/file-icons/folder-layout.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-layout.svg rename to packages/desktop/src/assets/file-icons/folder-layout.svg diff --git a/packages/app/src/assets/file-icons/folder-lefthook-open.svg b/packages/desktop/src/assets/file-icons/folder-lefthook-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-lefthook-open.svg rename to packages/desktop/src/assets/file-icons/folder-lefthook-open.svg diff --git a/packages/app/src/assets/file-icons/folder-lefthook.svg b/packages/desktop/src/assets/file-icons/folder-lefthook.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-lefthook.svg rename to packages/desktop/src/assets/file-icons/folder-lefthook.svg diff --git a/packages/app/src/assets/file-icons/folder-less-open.svg b/packages/desktop/src/assets/file-icons/folder-less-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-less-open.svg rename to packages/desktop/src/assets/file-icons/folder-less-open.svg diff --git a/packages/app/src/assets/file-icons/folder-less.svg b/packages/desktop/src/assets/file-icons/folder-less.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-less.svg rename to packages/desktop/src/assets/file-icons/folder-less.svg diff --git a/packages/app/src/assets/file-icons/folder-lib-open.svg b/packages/desktop/src/assets/file-icons/folder-lib-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-lib-open.svg rename to packages/desktop/src/assets/file-icons/folder-lib-open.svg diff --git a/packages/app/src/assets/file-icons/folder-lib.svg b/packages/desktop/src/assets/file-icons/folder-lib.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-lib.svg rename to packages/desktop/src/assets/file-icons/folder-lib.svg diff --git a/packages/app/src/assets/file-icons/folder-link-open.svg b/packages/desktop/src/assets/file-icons/folder-link-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-link-open.svg rename to packages/desktop/src/assets/file-icons/folder-link-open.svg diff --git a/packages/app/src/assets/file-icons/folder-link.svg b/packages/desktop/src/assets/file-icons/folder-link.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-link.svg rename to packages/desktop/src/assets/file-icons/folder-link.svg diff --git a/packages/app/src/assets/file-icons/folder-linux-open.svg b/packages/desktop/src/assets/file-icons/folder-linux-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-linux-open.svg rename to packages/desktop/src/assets/file-icons/folder-linux-open.svg diff --git a/packages/app/src/assets/file-icons/folder-linux.svg b/packages/desktop/src/assets/file-icons/folder-linux.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-linux.svg rename to packages/desktop/src/assets/file-icons/folder-linux.svg diff --git a/packages/app/src/assets/file-icons/folder-liquibase-open.svg b/packages/desktop/src/assets/file-icons/folder-liquibase-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-liquibase-open.svg rename to packages/desktop/src/assets/file-icons/folder-liquibase-open.svg diff --git a/packages/app/src/assets/file-icons/folder-liquibase.svg b/packages/desktop/src/assets/file-icons/folder-liquibase.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-liquibase.svg rename to packages/desktop/src/assets/file-icons/folder-liquibase.svg diff --git a/packages/app/src/assets/file-icons/folder-log-open.svg b/packages/desktop/src/assets/file-icons/folder-log-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-log-open.svg rename to packages/desktop/src/assets/file-icons/folder-log-open.svg diff --git a/packages/app/src/assets/file-icons/folder-log.svg b/packages/desktop/src/assets/file-icons/folder-log.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-log.svg rename to packages/desktop/src/assets/file-icons/folder-log.svg diff --git a/packages/app/src/assets/file-icons/folder-lottie-open.svg b/packages/desktop/src/assets/file-icons/folder-lottie-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-lottie-open.svg rename to packages/desktop/src/assets/file-icons/folder-lottie-open.svg diff --git a/packages/app/src/assets/file-icons/folder-lottie.svg b/packages/desktop/src/assets/file-icons/folder-lottie.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-lottie.svg rename to packages/desktop/src/assets/file-icons/folder-lottie.svg diff --git a/packages/app/src/assets/file-icons/folder-lua-open.svg b/packages/desktop/src/assets/file-icons/folder-lua-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-lua-open.svg rename to packages/desktop/src/assets/file-icons/folder-lua-open.svg diff --git a/packages/app/src/assets/file-icons/folder-lua.svg b/packages/desktop/src/assets/file-icons/folder-lua.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-lua.svg rename to packages/desktop/src/assets/file-icons/folder-lua.svg diff --git a/packages/app/src/assets/file-icons/folder-luau-open.svg b/packages/desktop/src/assets/file-icons/folder-luau-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-luau-open.svg rename to packages/desktop/src/assets/file-icons/folder-luau-open.svg diff --git a/packages/app/src/assets/file-icons/folder-luau.svg b/packages/desktop/src/assets/file-icons/folder-luau.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-luau.svg rename to packages/desktop/src/assets/file-icons/folder-luau.svg diff --git a/packages/app/src/assets/file-icons/folder-macos-open.svg b/packages/desktop/src/assets/file-icons/folder-macos-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-macos-open.svg rename to packages/desktop/src/assets/file-icons/folder-macos-open.svg diff --git a/packages/app/src/assets/file-icons/folder-macos.svg b/packages/desktop/src/assets/file-icons/folder-macos.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-macos.svg rename to packages/desktop/src/assets/file-icons/folder-macos.svg diff --git a/packages/app/src/assets/file-icons/folder-mail-open.svg b/packages/desktop/src/assets/file-icons/folder-mail-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mail-open.svg rename to packages/desktop/src/assets/file-icons/folder-mail-open.svg diff --git a/packages/app/src/assets/file-icons/folder-mail.svg b/packages/desktop/src/assets/file-icons/folder-mail.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mail.svg rename to packages/desktop/src/assets/file-icons/folder-mail.svg diff --git a/packages/app/src/assets/file-icons/folder-mappings-open.svg b/packages/desktop/src/assets/file-icons/folder-mappings-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mappings-open.svg rename to packages/desktop/src/assets/file-icons/folder-mappings-open.svg diff --git a/packages/app/src/assets/file-icons/folder-mappings.svg b/packages/desktop/src/assets/file-icons/folder-mappings.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mappings.svg rename to packages/desktop/src/assets/file-icons/folder-mappings.svg diff --git a/packages/app/src/assets/file-icons/folder-markdown-open.svg b/packages/desktop/src/assets/file-icons/folder-markdown-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-markdown-open.svg rename to packages/desktop/src/assets/file-icons/folder-markdown-open.svg diff --git a/packages/app/src/assets/file-icons/folder-markdown.svg b/packages/desktop/src/assets/file-icons/folder-markdown.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-markdown.svg rename to packages/desktop/src/assets/file-icons/folder-markdown.svg diff --git a/packages/app/src/assets/file-icons/folder-mercurial-open.svg b/packages/desktop/src/assets/file-icons/folder-mercurial-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mercurial-open.svg rename to packages/desktop/src/assets/file-icons/folder-mercurial-open.svg diff --git a/packages/app/src/assets/file-icons/folder-mercurial.svg b/packages/desktop/src/assets/file-icons/folder-mercurial.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mercurial.svg rename to packages/desktop/src/assets/file-icons/folder-mercurial.svg diff --git a/packages/app/src/assets/file-icons/folder-messages-open.svg b/packages/desktop/src/assets/file-icons/folder-messages-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-messages-open.svg rename to packages/desktop/src/assets/file-icons/folder-messages-open.svg diff --git a/packages/app/src/assets/file-icons/folder-messages.svg b/packages/desktop/src/assets/file-icons/folder-messages.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-messages.svg rename to packages/desktop/src/assets/file-icons/folder-messages.svg diff --git a/packages/app/src/assets/file-icons/folder-meta-open.svg b/packages/desktop/src/assets/file-icons/folder-meta-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-meta-open.svg rename to packages/desktop/src/assets/file-icons/folder-meta-open.svg diff --git a/packages/app/src/assets/file-icons/folder-meta.svg b/packages/desktop/src/assets/file-icons/folder-meta.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-meta.svg rename to packages/desktop/src/assets/file-icons/folder-meta.svg diff --git a/packages/app/src/assets/file-icons/folder-middleware-open.svg b/packages/desktop/src/assets/file-icons/folder-middleware-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-middleware-open.svg rename to packages/desktop/src/assets/file-icons/folder-middleware-open.svg diff --git a/packages/app/src/assets/file-icons/folder-middleware.svg b/packages/desktop/src/assets/file-icons/folder-middleware.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-middleware.svg rename to packages/desktop/src/assets/file-icons/folder-middleware.svg diff --git a/packages/app/src/assets/file-icons/folder-mjml-open.svg b/packages/desktop/src/assets/file-icons/folder-mjml-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mjml-open.svg rename to packages/desktop/src/assets/file-icons/folder-mjml-open.svg diff --git a/packages/app/src/assets/file-icons/folder-mjml.svg b/packages/desktop/src/assets/file-icons/folder-mjml.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mjml.svg rename to packages/desktop/src/assets/file-icons/folder-mjml.svg diff --git a/packages/app/src/assets/file-icons/folder-mobile-open.svg b/packages/desktop/src/assets/file-icons/folder-mobile-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mobile-open.svg rename to packages/desktop/src/assets/file-icons/folder-mobile-open.svg diff --git a/packages/app/src/assets/file-icons/folder-mobile.svg b/packages/desktop/src/assets/file-icons/folder-mobile.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mobile.svg rename to packages/desktop/src/assets/file-icons/folder-mobile.svg diff --git a/packages/app/src/assets/file-icons/folder-mock-open.svg b/packages/desktop/src/assets/file-icons/folder-mock-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mock-open.svg rename to packages/desktop/src/assets/file-icons/folder-mock-open.svg diff --git a/packages/app/src/assets/file-icons/folder-mock.svg b/packages/desktop/src/assets/file-icons/folder-mock.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mock.svg rename to packages/desktop/src/assets/file-icons/folder-mock.svg diff --git a/packages/app/src/assets/file-icons/folder-mojo-open.svg b/packages/desktop/src/assets/file-icons/folder-mojo-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mojo-open.svg rename to packages/desktop/src/assets/file-icons/folder-mojo-open.svg diff --git a/packages/app/src/assets/file-icons/folder-mojo.svg b/packages/desktop/src/assets/file-icons/folder-mojo.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-mojo.svg rename to packages/desktop/src/assets/file-icons/folder-mojo.svg diff --git a/packages/app/src/assets/file-icons/folder-molecule-open.svg b/packages/desktop/src/assets/file-icons/folder-molecule-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-molecule-open.svg rename to packages/desktop/src/assets/file-icons/folder-molecule-open.svg diff --git a/packages/app/src/assets/file-icons/folder-molecule.svg b/packages/desktop/src/assets/file-icons/folder-molecule.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-molecule.svg rename to packages/desktop/src/assets/file-icons/folder-molecule.svg diff --git a/packages/app/src/assets/file-icons/folder-moon-open.svg b/packages/desktop/src/assets/file-icons/folder-moon-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-moon-open.svg rename to packages/desktop/src/assets/file-icons/folder-moon-open.svg diff --git a/packages/app/src/assets/file-icons/folder-moon.svg b/packages/desktop/src/assets/file-icons/folder-moon.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-moon.svg rename to packages/desktop/src/assets/file-icons/folder-moon.svg diff --git a/packages/app/src/assets/file-icons/folder-netlify-open.svg b/packages/desktop/src/assets/file-icons/folder-netlify-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-netlify-open.svg rename to packages/desktop/src/assets/file-icons/folder-netlify-open.svg diff --git a/packages/app/src/assets/file-icons/folder-netlify.svg b/packages/desktop/src/assets/file-icons/folder-netlify.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-netlify.svg rename to packages/desktop/src/assets/file-icons/folder-netlify.svg diff --git a/packages/app/src/assets/file-icons/folder-next-open.svg b/packages/desktop/src/assets/file-icons/folder-next-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-next-open.svg rename to packages/desktop/src/assets/file-icons/folder-next-open.svg diff --git a/packages/app/src/assets/file-icons/folder-next.svg b/packages/desktop/src/assets/file-icons/folder-next.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-next.svg rename to packages/desktop/src/assets/file-icons/folder-next.svg diff --git a/packages/app/src/assets/file-icons/folder-ngrx-store-open.svg b/packages/desktop/src/assets/file-icons/folder-ngrx-store-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ngrx-store-open.svg rename to packages/desktop/src/assets/file-icons/folder-ngrx-store-open.svg diff --git a/packages/app/src/assets/file-icons/folder-ngrx-store.svg b/packages/desktop/src/assets/file-icons/folder-ngrx-store.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ngrx-store.svg rename to packages/desktop/src/assets/file-icons/folder-ngrx-store.svg diff --git a/packages/app/src/assets/file-icons/folder-node-open.svg b/packages/desktop/src/assets/file-icons/folder-node-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-node-open.svg rename to packages/desktop/src/assets/file-icons/folder-node-open.svg diff --git a/packages/app/src/assets/file-icons/folder-node.svg b/packages/desktop/src/assets/file-icons/folder-node.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-node.svg rename to packages/desktop/src/assets/file-icons/folder-node.svg diff --git a/packages/app/src/assets/file-icons/folder-nuxt-open.svg b/packages/desktop/src/assets/file-icons/folder-nuxt-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-nuxt-open.svg rename to packages/desktop/src/assets/file-icons/folder-nuxt-open.svg diff --git a/packages/app/src/assets/file-icons/folder-nuxt.svg b/packages/desktop/src/assets/file-icons/folder-nuxt.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-nuxt.svg rename to packages/desktop/src/assets/file-icons/folder-nuxt.svg diff --git a/packages/app/src/assets/file-icons/folder-obsidian-open.svg b/packages/desktop/src/assets/file-icons/folder-obsidian-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-obsidian-open.svg rename to packages/desktop/src/assets/file-icons/folder-obsidian-open.svg diff --git a/packages/app/src/assets/file-icons/folder-obsidian.svg b/packages/desktop/src/assets/file-icons/folder-obsidian.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-obsidian.svg rename to packages/desktop/src/assets/file-icons/folder-obsidian.svg diff --git a/packages/app/src/assets/file-icons/folder-open.svg b/packages/desktop/src/assets/file-icons/folder-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-open.svg rename to packages/desktop/src/assets/file-icons/folder-open.svg diff --git a/packages/app/src/assets/file-icons/folder-organism-open.svg b/packages/desktop/src/assets/file-icons/folder-organism-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-organism-open.svg rename to packages/desktop/src/assets/file-icons/folder-organism-open.svg diff --git a/packages/app/src/assets/file-icons/folder-organism.svg b/packages/desktop/src/assets/file-icons/folder-organism.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-organism.svg rename to packages/desktop/src/assets/file-icons/folder-organism.svg diff --git a/packages/app/src/assets/file-icons/folder-other-open.svg b/packages/desktop/src/assets/file-icons/folder-other-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-other-open.svg rename to packages/desktop/src/assets/file-icons/folder-other-open.svg diff --git a/packages/app/src/assets/file-icons/folder-other.svg b/packages/desktop/src/assets/file-icons/folder-other.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-other.svg rename to packages/desktop/src/assets/file-icons/folder-other.svg diff --git a/packages/app/src/assets/file-icons/folder-packages-open.svg b/packages/desktop/src/assets/file-icons/folder-packages-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-packages-open.svg rename to packages/desktop/src/assets/file-icons/folder-packages-open.svg diff --git a/packages/app/src/assets/file-icons/folder-packages.svg b/packages/desktop/src/assets/file-icons/folder-packages.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-packages.svg rename to packages/desktop/src/assets/file-icons/folder-packages.svg diff --git a/packages/app/src/assets/file-icons/folder-pdf-open.svg b/packages/desktop/src/assets/file-icons/folder-pdf-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-pdf-open.svg rename to packages/desktop/src/assets/file-icons/folder-pdf-open.svg diff --git a/packages/app/src/assets/file-icons/folder-pdf.svg b/packages/desktop/src/assets/file-icons/folder-pdf.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-pdf.svg rename to packages/desktop/src/assets/file-icons/folder-pdf.svg diff --git a/packages/app/src/assets/file-icons/folder-pdm-open.svg b/packages/desktop/src/assets/file-icons/folder-pdm-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-pdm-open.svg rename to packages/desktop/src/assets/file-icons/folder-pdm-open.svg diff --git a/packages/app/src/assets/file-icons/folder-pdm.svg b/packages/desktop/src/assets/file-icons/folder-pdm.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-pdm.svg rename to packages/desktop/src/assets/file-icons/folder-pdm.svg diff --git a/packages/app/src/assets/file-icons/folder-php-open.svg b/packages/desktop/src/assets/file-icons/folder-php-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-php-open.svg rename to packages/desktop/src/assets/file-icons/folder-php-open.svg diff --git a/packages/app/src/assets/file-icons/folder-php.svg b/packages/desktop/src/assets/file-icons/folder-php.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-php.svg rename to packages/desktop/src/assets/file-icons/folder-php.svg diff --git a/packages/app/src/assets/file-icons/folder-phpmailer-open.svg b/packages/desktop/src/assets/file-icons/folder-phpmailer-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-phpmailer-open.svg rename to packages/desktop/src/assets/file-icons/folder-phpmailer-open.svg diff --git a/packages/app/src/assets/file-icons/folder-phpmailer.svg b/packages/desktop/src/assets/file-icons/folder-phpmailer.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-phpmailer.svg rename to packages/desktop/src/assets/file-icons/folder-phpmailer.svg diff --git a/packages/app/src/assets/file-icons/folder-pipe-open.svg b/packages/desktop/src/assets/file-icons/folder-pipe-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-pipe-open.svg rename to packages/desktop/src/assets/file-icons/folder-pipe-open.svg diff --git a/packages/app/src/assets/file-icons/folder-pipe.svg b/packages/desktop/src/assets/file-icons/folder-pipe.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-pipe.svg rename to packages/desktop/src/assets/file-icons/folder-pipe.svg diff --git a/packages/app/src/assets/file-icons/folder-plastic-open.svg b/packages/desktop/src/assets/file-icons/folder-plastic-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-plastic-open.svg rename to packages/desktop/src/assets/file-icons/folder-plastic-open.svg diff --git a/packages/app/src/assets/file-icons/folder-plastic.svg b/packages/desktop/src/assets/file-icons/folder-plastic.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-plastic.svg rename to packages/desktop/src/assets/file-icons/folder-plastic.svg diff --git a/packages/app/src/assets/file-icons/folder-plugin-open.svg b/packages/desktop/src/assets/file-icons/folder-plugin-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-plugin-open.svg rename to packages/desktop/src/assets/file-icons/folder-plugin-open.svg diff --git a/packages/app/src/assets/file-icons/folder-plugin.svg b/packages/desktop/src/assets/file-icons/folder-plugin.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-plugin.svg rename to packages/desktop/src/assets/file-icons/folder-plugin.svg diff --git a/packages/app/src/assets/file-icons/folder-policy-open.svg b/packages/desktop/src/assets/file-icons/folder-policy-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-policy-open.svg rename to packages/desktop/src/assets/file-icons/folder-policy-open.svg diff --git a/packages/app/src/assets/file-icons/folder-policy.svg b/packages/desktop/src/assets/file-icons/folder-policy.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-policy.svg rename to packages/desktop/src/assets/file-icons/folder-policy.svg diff --git a/packages/app/src/assets/file-icons/folder-powershell-open.svg b/packages/desktop/src/assets/file-icons/folder-powershell-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-powershell-open.svg rename to packages/desktop/src/assets/file-icons/folder-powershell-open.svg diff --git a/packages/app/src/assets/file-icons/folder-powershell.svg b/packages/desktop/src/assets/file-icons/folder-powershell.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-powershell.svg rename to packages/desktop/src/assets/file-icons/folder-powershell.svg diff --git a/packages/app/src/assets/file-icons/folder-prisma-open.svg b/packages/desktop/src/assets/file-icons/folder-prisma-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-prisma-open.svg rename to packages/desktop/src/assets/file-icons/folder-prisma-open.svg diff --git a/packages/app/src/assets/file-icons/folder-prisma.svg b/packages/desktop/src/assets/file-icons/folder-prisma.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-prisma.svg rename to packages/desktop/src/assets/file-icons/folder-prisma.svg diff --git a/packages/app/src/assets/file-icons/folder-private-open.svg b/packages/desktop/src/assets/file-icons/folder-private-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-private-open.svg rename to packages/desktop/src/assets/file-icons/folder-private-open.svg diff --git a/packages/app/src/assets/file-icons/folder-private.svg b/packages/desktop/src/assets/file-icons/folder-private.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-private.svg rename to packages/desktop/src/assets/file-icons/folder-private.svg diff --git a/packages/app/src/assets/file-icons/folder-project-open.svg b/packages/desktop/src/assets/file-icons/folder-project-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-project-open.svg rename to packages/desktop/src/assets/file-icons/folder-project-open.svg diff --git a/packages/app/src/assets/file-icons/folder-project.svg b/packages/desktop/src/assets/file-icons/folder-project.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-project.svg rename to packages/desktop/src/assets/file-icons/folder-project.svg diff --git a/packages/app/src/assets/file-icons/folder-prompts-open.svg b/packages/desktop/src/assets/file-icons/folder-prompts-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-prompts-open.svg rename to packages/desktop/src/assets/file-icons/folder-prompts-open.svg diff --git a/packages/app/src/assets/file-icons/folder-prompts.svg b/packages/desktop/src/assets/file-icons/folder-prompts.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-prompts.svg rename to packages/desktop/src/assets/file-icons/folder-prompts.svg diff --git a/packages/app/src/assets/file-icons/folder-proto-open.svg b/packages/desktop/src/assets/file-icons/folder-proto-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-proto-open.svg rename to packages/desktop/src/assets/file-icons/folder-proto-open.svg diff --git a/packages/app/src/assets/file-icons/folder-proto.svg b/packages/desktop/src/assets/file-icons/folder-proto.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-proto.svg rename to packages/desktop/src/assets/file-icons/folder-proto.svg diff --git a/packages/app/src/assets/file-icons/folder-public-open.svg b/packages/desktop/src/assets/file-icons/folder-public-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-public-open.svg rename to packages/desktop/src/assets/file-icons/folder-public-open.svg diff --git a/packages/app/src/assets/file-icons/folder-public.svg b/packages/desktop/src/assets/file-icons/folder-public.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-public.svg rename to packages/desktop/src/assets/file-icons/folder-public.svg diff --git a/packages/app/src/assets/file-icons/folder-python-open.svg b/packages/desktop/src/assets/file-icons/folder-python-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-python-open.svg rename to packages/desktop/src/assets/file-icons/folder-python-open.svg diff --git a/packages/app/src/assets/file-icons/folder-python.svg b/packages/desktop/src/assets/file-icons/folder-python.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-python.svg rename to packages/desktop/src/assets/file-icons/folder-python.svg diff --git a/packages/app/src/assets/file-icons/folder-pytorch-open.svg b/packages/desktop/src/assets/file-icons/folder-pytorch-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-pytorch-open.svg rename to packages/desktop/src/assets/file-icons/folder-pytorch-open.svg diff --git a/packages/app/src/assets/file-icons/folder-pytorch.svg b/packages/desktop/src/assets/file-icons/folder-pytorch.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-pytorch.svg rename to packages/desktop/src/assets/file-icons/folder-pytorch.svg diff --git a/packages/app/src/assets/file-icons/folder-quasar-open.svg b/packages/desktop/src/assets/file-icons/folder-quasar-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-quasar-open.svg rename to packages/desktop/src/assets/file-icons/folder-quasar-open.svg diff --git a/packages/app/src/assets/file-icons/folder-quasar.svg b/packages/desktop/src/assets/file-icons/folder-quasar.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-quasar.svg rename to packages/desktop/src/assets/file-icons/folder-quasar.svg diff --git a/packages/app/src/assets/file-icons/folder-queue-open.svg b/packages/desktop/src/assets/file-icons/folder-queue-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-queue-open.svg rename to packages/desktop/src/assets/file-icons/folder-queue-open.svg diff --git a/packages/app/src/assets/file-icons/folder-queue.svg b/packages/desktop/src/assets/file-icons/folder-queue.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-queue.svg rename to packages/desktop/src/assets/file-icons/folder-queue.svg diff --git a/packages/app/src/assets/file-icons/folder-react-components-open.svg b/packages/desktop/src/assets/file-icons/folder-react-components-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-react-components-open.svg rename to packages/desktop/src/assets/file-icons/folder-react-components-open.svg diff --git a/packages/app/src/assets/file-icons/folder-react-components.svg b/packages/desktop/src/assets/file-icons/folder-react-components.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-react-components.svg rename to packages/desktop/src/assets/file-icons/folder-react-components.svg diff --git a/packages/app/src/assets/file-icons/folder-redux-reducer-open.svg b/packages/desktop/src/assets/file-icons/folder-redux-reducer-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-redux-reducer-open.svg rename to packages/desktop/src/assets/file-icons/folder-redux-reducer-open.svg diff --git a/packages/app/src/assets/file-icons/folder-redux-reducer.svg b/packages/desktop/src/assets/file-icons/folder-redux-reducer.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-redux-reducer.svg rename to packages/desktop/src/assets/file-icons/folder-redux-reducer.svg diff --git a/packages/app/src/assets/file-icons/folder-repository-open.svg b/packages/desktop/src/assets/file-icons/folder-repository-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-repository-open.svg rename to packages/desktop/src/assets/file-icons/folder-repository-open.svg diff --git a/packages/app/src/assets/file-icons/folder-repository.svg b/packages/desktop/src/assets/file-icons/folder-repository.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-repository.svg rename to packages/desktop/src/assets/file-icons/folder-repository.svg diff --git a/packages/app/src/assets/file-icons/folder-resolver-open.svg b/packages/desktop/src/assets/file-icons/folder-resolver-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-resolver-open.svg rename to packages/desktop/src/assets/file-icons/folder-resolver-open.svg diff --git a/packages/app/src/assets/file-icons/folder-resolver.svg b/packages/desktop/src/assets/file-icons/folder-resolver.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-resolver.svg rename to packages/desktop/src/assets/file-icons/folder-resolver.svg diff --git a/packages/app/src/assets/file-icons/folder-resource-open.svg b/packages/desktop/src/assets/file-icons/folder-resource-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-resource-open.svg rename to packages/desktop/src/assets/file-icons/folder-resource-open.svg diff --git a/packages/app/src/assets/file-icons/folder-resource.svg b/packages/desktop/src/assets/file-icons/folder-resource.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-resource.svg rename to packages/desktop/src/assets/file-icons/folder-resource.svg diff --git a/packages/app/src/assets/file-icons/folder-review-open.svg b/packages/desktop/src/assets/file-icons/folder-review-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-review-open.svg rename to packages/desktop/src/assets/file-icons/folder-review-open.svg diff --git a/packages/app/src/assets/file-icons/folder-review.svg b/packages/desktop/src/assets/file-icons/folder-review.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-review.svg rename to packages/desktop/src/assets/file-icons/folder-review.svg diff --git a/packages/app/src/assets/file-icons/folder-robot-open.svg b/packages/desktop/src/assets/file-icons/folder-robot-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-robot-open.svg rename to packages/desktop/src/assets/file-icons/folder-robot-open.svg diff --git a/packages/app/src/assets/file-icons/folder-robot.svg b/packages/desktop/src/assets/file-icons/folder-robot.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-robot.svg rename to packages/desktop/src/assets/file-icons/folder-robot.svg diff --git a/packages/app/src/assets/file-icons/folder-routes-open.svg b/packages/desktop/src/assets/file-icons/folder-routes-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-routes-open.svg rename to packages/desktop/src/assets/file-icons/folder-routes-open.svg diff --git a/packages/app/src/assets/file-icons/folder-routes.svg b/packages/desktop/src/assets/file-icons/folder-routes.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-routes.svg rename to packages/desktop/src/assets/file-icons/folder-routes.svg diff --git a/packages/app/src/assets/file-icons/folder-rules-open.svg b/packages/desktop/src/assets/file-icons/folder-rules-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-rules-open.svg rename to packages/desktop/src/assets/file-icons/folder-rules-open.svg diff --git a/packages/app/src/assets/file-icons/folder-rules.svg b/packages/desktop/src/assets/file-icons/folder-rules.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-rules.svg rename to packages/desktop/src/assets/file-icons/folder-rules.svg diff --git a/packages/app/src/assets/file-icons/folder-rust-open.svg b/packages/desktop/src/assets/file-icons/folder-rust-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-rust-open.svg rename to packages/desktop/src/assets/file-icons/folder-rust-open.svg diff --git a/packages/app/src/assets/file-icons/folder-rust.svg b/packages/desktop/src/assets/file-icons/folder-rust.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-rust.svg rename to packages/desktop/src/assets/file-icons/folder-rust.svg diff --git a/packages/app/src/assets/file-icons/folder-sandbox-open.svg b/packages/desktop/src/assets/file-icons/folder-sandbox-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-sandbox-open.svg rename to packages/desktop/src/assets/file-icons/folder-sandbox-open.svg diff --git a/packages/app/src/assets/file-icons/folder-sandbox.svg b/packages/desktop/src/assets/file-icons/folder-sandbox.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-sandbox.svg rename to packages/desktop/src/assets/file-icons/folder-sandbox.svg diff --git a/packages/app/src/assets/file-icons/folder-sass-open.svg b/packages/desktop/src/assets/file-icons/folder-sass-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-sass-open.svg rename to packages/desktop/src/assets/file-icons/folder-sass-open.svg diff --git a/packages/app/src/assets/file-icons/folder-sass.svg b/packages/desktop/src/assets/file-icons/folder-sass.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-sass.svg rename to packages/desktop/src/assets/file-icons/folder-sass.svg diff --git a/packages/app/src/assets/file-icons/folder-scala-open.svg b/packages/desktop/src/assets/file-icons/folder-scala-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-scala-open.svg rename to packages/desktop/src/assets/file-icons/folder-scala-open.svg diff --git a/packages/app/src/assets/file-icons/folder-scala.svg b/packages/desktop/src/assets/file-icons/folder-scala.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-scala.svg rename to packages/desktop/src/assets/file-icons/folder-scala.svg diff --git a/packages/app/src/assets/file-icons/folder-scons-open.svg b/packages/desktop/src/assets/file-icons/folder-scons-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-scons-open.svg rename to packages/desktop/src/assets/file-icons/folder-scons-open.svg diff --git a/packages/app/src/assets/file-icons/folder-scons.svg b/packages/desktop/src/assets/file-icons/folder-scons.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-scons.svg rename to packages/desktop/src/assets/file-icons/folder-scons.svg diff --git a/packages/app/src/assets/file-icons/folder-scripts-open.svg b/packages/desktop/src/assets/file-icons/folder-scripts-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-scripts-open.svg rename to packages/desktop/src/assets/file-icons/folder-scripts-open.svg diff --git a/packages/app/src/assets/file-icons/folder-scripts.svg b/packages/desktop/src/assets/file-icons/folder-scripts.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-scripts.svg rename to packages/desktop/src/assets/file-icons/folder-scripts.svg diff --git a/packages/app/src/assets/file-icons/folder-secure-open.svg b/packages/desktop/src/assets/file-icons/folder-secure-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-secure-open.svg rename to packages/desktop/src/assets/file-icons/folder-secure-open.svg diff --git a/packages/app/src/assets/file-icons/folder-secure.svg b/packages/desktop/src/assets/file-icons/folder-secure.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-secure.svg rename to packages/desktop/src/assets/file-icons/folder-secure.svg diff --git a/packages/app/src/assets/file-icons/folder-seeders-open.svg b/packages/desktop/src/assets/file-icons/folder-seeders-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-seeders-open.svg rename to packages/desktop/src/assets/file-icons/folder-seeders-open.svg diff --git a/packages/app/src/assets/file-icons/folder-seeders.svg b/packages/desktop/src/assets/file-icons/folder-seeders.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-seeders.svg rename to packages/desktop/src/assets/file-icons/folder-seeders.svg diff --git a/packages/app/src/assets/file-icons/folder-server-open.svg b/packages/desktop/src/assets/file-icons/folder-server-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-server-open.svg rename to packages/desktop/src/assets/file-icons/folder-server-open.svg diff --git a/packages/app/src/assets/file-icons/folder-server.svg b/packages/desktop/src/assets/file-icons/folder-server.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-server.svg rename to packages/desktop/src/assets/file-icons/folder-server.svg diff --git a/packages/app/src/assets/file-icons/folder-serverless-open.svg b/packages/desktop/src/assets/file-icons/folder-serverless-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-serverless-open.svg rename to packages/desktop/src/assets/file-icons/folder-serverless-open.svg diff --git a/packages/app/src/assets/file-icons/folder-serverless.svg b/packages/desktop/src/assets/file-icons/folder-serverless.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-serverless.svg rename to packages/desktop/src/assets/file-icons/folder-serverless.svg diff --git a/packages/app/src/assets/file-icons/folder-shader-open.svg b/packages/desktop/src/assets/file-icons/folder-shader-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-shader-open.svg rename to packages/desktop/src/assets/file-icons/folder-shader-open.svg diff --git a/packages/app/src/assets/file-icons/folder-shader.svg b/packages/desktop/src/assets/file-icons/folder-shader.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-shader.svg rename to packages/desktop/src/assets/file-icons/folder-shader.svg diff --git a/packages/app/src/assets/file-icons/folder-shared-open.svg b/packages/desktop/src/assets/file-icons/folder-shared-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-shared-open.svg rename to packages/desktop/src/assets/file-icons/folder-shared-open.svg diff --git a/packages/app/src/assets/file-icons/folder-shared.svg b/packages/desktop/src/assets/file-icons/folder-shared.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-shared.svg rename to packages/desktop/src/assets/file-icons/folder-shared.svg diff --git a/packages/app/src/assets/file-icons/folder-snapcraft-open.svg b/packages/desktop/src/assets/file-icons/folder-snapcraft-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-snapcraft-open.svg rename to packages/desktop/src/assets/file-icons/folder-snapcraft-open.svg diff --git a/packages/app/src/assets/file-icons/folder-snapcraft.svg b/packages/desktop/src/assets/file-icons/folder-snapcraft.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-snapcraft.svg rename to packages/desktop/src/assets/file-icons/folder-snapcraft.svg diff --git a/packages/app/src/assets/file-icons/folder-snippet-open.svg b/packages/desktop/src/assets/file-icons/folder-snippet-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-snippet-open.svg rename to packages/desktop/src/assets/file-icons/folder-snippet-open.svg diff --git a/packages/app/src/assets/file-icons/folder-snippet.svg b/packages/desktop/src/assets/file-icons/folder-snippet.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-snippet.svg rename to packages/desktop/src/assets/file-icons/folder-snippet.svg diff --git a/packages/app/src/assets/file-icons/folder-src-open.svg b/packages/desktop/src/assets/file-icons/folder-src-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-src-open.svg rename to packages/desktop/src/assets/file-icons/folder-src-open.svg diff --git a/packages/app/src/assets/file-icons/folder-src-tauri-open.svg b/packages/desktop/src/assets/file-icons/folder-src-tauri-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-src-tauri-open.svg rename to packages/desktop/src/assets/file-icons/folder-src-tauri-open.svg diff --git a/packages/app/src/assets/file-icons/folder-src-tauri.svg b/packages/desktop/src/assets/file-icons/folder-src-tauri.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-src-tauri.svg rename to packages/desktop/src/assets/file-icons/folder-src-tauri.svg diff --git a/packages/app/src/assets/file-icons/folder-src.svg b/packages/desktop/src/assets/file-icons/folder-src.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-src.svg rename to packages/desktop/src/assets/file-icons/folder-src.svg diff --git a/packages/app/src/assets/file-icons/folder-stack-open.svg b/packages/desktop/src/assets/file-icons/folder-stack-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-stack-open.svg rename to packages/desktop/src/assets/file-icons/folder-stack-open.svg diff --git a/packages/app/src/assets/file-icons/folder-stack.svg b/packages/desktop/src/assets/file-icons/folder-stack.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-stack.svg rename to packages/desktop/src/assets/file-icons/folder-stack.svg diff --git a/packages/app/src/assets/file-icons/folder-stencil-open.svg b/packages/desktop/src/assets/file-icons/folder-stencil-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-stencil-open.svg rename to packages/desktop/src/assets/file-icons/folder-stencil-open.svg diff --git a/packages/app/src/assets/file-icons/folder-stencil.svg b/packages/desktop/src/assets/file-icons/folder-stencil.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-stencil.svg rename to packages/desktop/src/assets/file-icons/folder-stencil.svg diff --git a/packages/app/src/assets/file-icons/folder-store-open.svg b/packages/desktop/src/assets/file-icons/folder-store-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-store-open.svg rename to packages/desktop/src/assets/file-icons/folder-store-open.svg diff --git a/packages/app/src/assets/file-icons/folder-store.svg b/packages/desktop/src/assets/file-icons/folder-store.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-store.svg rename to packages/desktop/src/assets/file-icons/folder-store.svg diff --git a/packages/app/src/assets/file-icons/folder-storybook-open.svg b/packages/desktop/src/assets/file-icons/folder-storybook-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-storybook-open.svg rename to packages/desktop/src/assets/file-icons/folder-storybook-open.svg diff --git a/packages/app/src/assets/file-icons/folder-storybook.svg b/packages/desktop/src/assets/file-icons/folder-storybook.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-storybook.svg rename to packages/desktop/src/assets/file-icons/folder-storybook.svg diff --git a/packages/app/src/assets/file-icons/folder-stylus-open.svg b/packages/desktop/src/assets/file-icons/folder-stylus-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-stylus-open.svg rename to packages/desktop/src/assets/file-icons/folder-stylus-open.svg diff --git a/packages/app/src/assets/file-icons/folder-stylus.svg b/packages/desktop/src/assets/file-icons/folder-stylus.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-stylus.svg rename to packages/desktop/src/assets/file-icons/folder-stylus.svg diff --git a/packages/app/src/assets/file-icons/folder-sublime-open.svg b/packages/desktop/src/assets/file-icons/folder-sublime-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-sublime-open.svg rename to packages/desktop/src/assets/file-icons/folder-sublime-open.svg diff --git a/packages/app/src/assets/file-icons/folder-sublime.svg b/packages/desktop/src/assets/file-icons/folder-sublime.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-sublime.svg rename to packages/desktop/src/assets/file-icons/folder-sublime.svg diff --git a/packages/app/src/assets/file-icons/folder-supabase-open.svg b/packages/desktop/src/assets/file-icons/folder-supabase-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-supabase-open.svg rename to packages/desktop/src/assets/file-icons/folder-supabase-open.svg diff --git a/packages/app/src/assets/file-icons/folder-supabase.svg b/packages/desktop/src/assets/file-icons/folder-supabase.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-supabase.svg rename to packages/desktop/src/assets/file-icons/folder-supabase.svg diff --git a/packages/app/src/assets/file-icons/folder-svelte-open.svg b/packages/desktop/src/assets/file-icons/folder-svelte-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-svelte-open.svg rename to packages/desktop/src/assets/file-icons/folder-svelte-open.svg diff --git a/packages/app/src/assets/file-icons/folder-svelte.svg b/packages/desktop/src/assets/file-icons/folder-svelte.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-svelte.svg rename to packages/desktop/src/assets/file-icons/folder-svelte.svg diff --git a/packages/app/src/assets/file-icons/folder-svg-open.svg b/packages/desktop/src/assets/file-icons/folder-svg-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-svg-open.svg rename to packages/desktop/src/assets/file-icons/folder-svg-open.svg diff --git a/packages/app/src/assets/file-icons/folder-svg.svg b/packages/desktop/src/assets/file-icons/folder-svg.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-svg.svg rename to packages/desktop/src/assets/file-icons/folder-svg.svg diff --git a/packages/app/src/assets/file-icons/folder-syntax-open.svg b/packages/desktop/src/assets/file-icons/folder-syntax-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-syntax-open.svg rename to packages/desktop/src/assets/file-icons/folder-syntax-open.svg diff --git a/packages/app/src/assets/file-icons/folder-syntax.svg b/packages/desktop/src/assets/file-icons/folder-syntax.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-syntax.svg rename to packages/desktop/src/assets/file-icons/folder-syntax.svg diff --git a/packages/app/src/assets/file-icons/folder-target-open.svg b/packages/desktop/src/assets/file-icons/folder-target-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-target-open.svg rename to packages/desktop/src/assets/file-icons/folder-target-open.svg diff --git a/packages/app/src/assets/file-icons/folder-target.svg b/packages/desktop/src/assets/file-icons/folder-target.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-target.svg rename to packages/desktop/src/assets/file-icons/folder-target.svg diff --git a/packages/app/src/assets/file-icons/folder-taskfile-open.svg b/packages/desktop/src/assets/file-icons/folder-taskfile-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-taskfile-open.svg rename to packages/desktop/src/assets/file-icons/folder-taskfile-open.svg diff --git a/packages/app/src/assets/file-icons/folder-taskfile.svg b/packages/desktop/src/assets/file-icons/folder-taskfile.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-taskfile.svg rename to packages/desktop/src/assets/file-icons/folder-taskfile.svg diff --git a/packages/app/src/assets/file-icons/folder-tasks-open.svg b/packages/desktop/src/assets/file-icons/folder-tasks-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-tasks-open.svg rename to packages/desktop/src/assets/file-icons/folder-tasks-open.svg diff --git a/packages/app/src/assets/file-icons/folder-tasks.svg b/packages/desktop/src/assets/file-icons/folder-tasks.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-tasks.svg rename to packages/desktop/src/assets/file-icons/folder-tasks.svg diff --git a/packages/app/src/assets/file-icons/folder-television-open.svg b/packages/desktop/src/assets/file-icons/folder-television-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-television-open.svg rename to packages/desktop/src/assets/file-icons/folder-television-open.svg diff --git a/packages/app/src/assets/file-icons/folder-television.svg b/packages/desktop/src/assets/file-icons/folder-television.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-television.svg rename to packages/desktop/src/assets/file-icons/folder-television.svg diff --git a/packages/app/src/assets/file-icons/folder-temp-open.svg b/packages/desktop/src/assets/file-icons/folder-temp-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-temp-open.svg rename to packages/desktop/src/assets/file-icons/folder-temp-open.svg diff --git a/packages/app/src/assets/file-icons/folder-temp.svg b/packages/desktop/src/assets/file-icons/folder-temp.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-temp.svg rename to packages/desktop/src/assets/file-icons/folder-temp.svg diff --git a/packages/app/src/assets/file-icons/folder-template-open.svg b/packages/desktop/src/assets/file-icons/folder-template-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-template-open.svg rename to packages/desktop/src/assets/file-icons/folder-template-open.svg diff --git a/packages/app/src/assets/file-icons/folder-template.svg b/packages/desktop/src/assets/file-icons/folder-template.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-template.svg rename to packages/desktop/src/assets/file-icons/folder-template.svg diff --git a/packages/app/src/assets/file-icons/folder-terraform-open.svg b/packages/desktop/src/assets/file-icons/folder-terraform-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-terraform-open.svg rename to packages/desktop/src/assets/file-icons/folder-terraform-open.svg diff --git a/packages/app/src/assets/file-icons/folder-terraform.svg b/packages/desktop/src/assets/file-icons/folder-terraform.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-terraform.svg rename to packages/desktop/src/assets/file-icons/folder-terraform.svg diff --git a/packages/app/src/assets/file-icons/folder-test-open.svg b/packages/desktop/src/assets/file-icons/folder-test-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-test-open.svg rename to packages/desktop/src/assets/file-icons/folder-test-open.svg diff --git a/packages/app/src/assets/file-icons/folder-test.svg b/packages/desktop/src/assets/file-icons/folder-test.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-test.svg rename to packages/desktop/src/assets/file-icons/folder-test.svg diff --git a/packages/app/src/assets/file-icons/folder-theme-open.svg b/packages/desktop/src/assets/file-icons/folder-theme-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-theme-open.svg rename to packages/desktop/src/assets/file-icons/folder-theme-open.svg diff --git a/packages/app/src/assets/file-icons/folder-theme.svg b/packages/desktop/src/assets/file-icons/folder-theme.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-theme.svg rename to packages/desktop/src/assets/file-icons/folder-theme.svg diff --git a/packages/app/src/assets/file-icons/folder-tools-open.svg b/packages/desktop/src/assets/file-icons/folder-tools-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-tools-open.svg rename to packages/desktop/src/assets/file-icons/folder-tools-open.svg diff --git a/packages/app/src/assets/file-icons/folder-tools.svg b/packages/desktop/src/assets/file-icons/folder-tools.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-tools.svg rename to packages/desktop/src/assets/file-icons/folder-tools.svg diff --git a/packages/app/src/assets/file-icons/folder-trash-open.svg b/packages/desktop/src/assets/file-icons/folder-trash-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-trash-open.svg rename to packages/desktop/src/assets/file-icons/folder-trash-open.svg diff --git a/packages/app/src/assets/file-icons/folder-trash.svg b/packages/desktop/src/assets/file-icons/folder-trash.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-trash.svg rename to packages/desktop/src/assets/file-icons/folder-trash.svg diff --git a/packages/app/src/assets/file-icons/folder-trigger-open.svg b/packages/desktop/src/assets/file-icons/folder-trigger-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-trigger-open.svg rename to packages/desktop/src/assets/file-icons/folder-trigger-open.svg diff --git a/packages/app/src/assets/file-icons/folder-trigger.svg b/packages/desktop/src/assets/file-icons/folder-trigger.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-trigger.svg rename to packages/desktop/src/assets/file-icons/folder-trigger.svg diff --git a/packages/app/src/assets/file-icons/folder-turborepo-open.svg b/packages/desktop/src/assets/file-icons/folder-turborepo-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-turborepo-open.svg rename to packages/desktop/src/assets/file-icons/folder-turborepo-open.svg diff --git a/packages/app/src/assets/file-icons/folder-turborepo.svg b/packages/desktop/src/assets/file-icons/folder-turborepo.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-turborepo.svg rename to packages/desktop/src/assets/file-icons/folder-turborepo.svg diff --git a/packages/app/src/assets/file-icons/folder-typescript-open.svg b/packages/desktop/src/assets/file-icons/folder-typescript-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-typescript-open.svg rename to packages/desktop/src/assets/file-icons/folder-typescript-open.svg diff --git a/packages/app/src/assets/file-icons/folder-typescript.svg b/packages/desktop/src/assets/file-icons/folder-typescript.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-typescript.svg rename to packages/desktop/src/assets/file-icons/folder-typescript.svg diff --git a/packages/app/src/assets/file-icons/folder-ui-open.svg b/packages/desktop/src/assets/file-icons/folder-ui-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ui-open.svg rename to packages/desktop/src/assets/file-icons/folder-ui-open.svg diff --git a/packages/app/src/assets/file-icons/folder-ui.svg b/packages/desktop/src/assets/file-icons/folder-ui.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-ui.svg rename to packages/desktop/src/assets/file-icons/folder-ui.svg diff --git a/packages/app/src/assets/file-icons/folder-unity-open.svg b/packages/desktop/src/assets/file-icons/folder-unity-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-unity-open.svg rename to packages/desktop/src/assets/file-icons/folder-unity-open.svg diff --git a/packages/app/src/assets/file-icons/folder-unity.svg b/packages/desktop/src/assets/file-icons/folder-unity.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-unity.svg rename to packages/desktop/src/assets/file-icons/folder-unity.svg diff --git a/packages/app/src/assets/file-icons/folder-update-open.svg b/packages/desktop/src/assets/file-icons/folder-update-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-update-open.svg rename to packages/desktop/src/assets/file-icons/folder-update-open.svg diff --git a/packages/app/src/assets/file-icons/folder-update.svg b/packages/desktop/src/assets/file-icons/folder-update.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-update.svg rename to packages/desktop/src/assets/file-icons/folder-update.svg diff --git a/packages/app/src/assets/file-icons/folder-upload-open.svg b/packages/desktop/src/assets/file-icons/folder-upload-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-upload-open.svg rename to packages/desktop/src/assets/file-icons/folder-upload-open.svg diff --git a/packages/app/src/assets/file-icons/folder-upload.svg b/packages/desktop/src/assets/file-icons/folder-upload.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-upload.svg rename to packages/desktop/src/assets/file-icons/folder-upload.svg diff --git a/packages/app/src/assets/file-icons/folder-utils-open.svg b/packages/desktop/src/assets/file-icons/folder-utils-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-utils-open.svg rename to packages/desktop/src/assets/file-icons/folder-utils-open.svg diff --git a/packages/app/src/assets/file-icons/folder-utils.svg b/packages/desktop/src/assets/file-icons/folder-utils.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-utils.svg rename to packages/desktop/src/assets/file-icons/folder-utils.svg diff --git a/packages/app/src/assets/file-icons/folder-vercel-open.svg b/packages/desktop/src/assets/file-icons/folder-vercel-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vercel-open.svg rename to packages/desktop/src/assets/file-icons/folder-vercel-open.svg diff --git a/packages/app/src/assets/file-icons/folder-vercel.svg b/packages/desktop/src/assets/file-icons/folder-vercel.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vercel.svg rename to packages/desktop/src/assets/file-icons/folder-vercel.svg diff --git a/packages/app/src/assets/file-icons/folder-verdaccio-open.svg b/packages/desktop/src/assets/file-icons/folder-verdaccio-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-verdaccio-open.svg rename to packages/desktop/src/assets/file-icons/folder-verdaccio-open.svg diff --git a/packages/app/src/assets/file-icons/folder-verdaccio.svg b/packages/desktop/src/assets/file-icons/folder-verdaccio.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-verdaccio.svg rename to packages/desktop/src/assets/file-icons/folder-verdaccio.svg diff --git a/packages/app/src/assets/file-icons/folder-video-open.svg b/packages/desktop/src/assets/file-icons/folder-video-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-video-open.svg rename to packages/desktop/src/assets/file-icons/folder-video-open.svg diff --git a/packages/app/src/assets/file-icons/folder-video.svg b/packages/desktop/src/assets/file-icons/folder-video.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-video.svg rename to packages/desktop/src/assets/file-icons/folder-video.svg diff --git a/packages/app/src/assets/file-icons/folder-views-open.svg b/packages/desktop/src/assets/file-icons/folder-views-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-views-open.svg rename to packages/desktop/src/assets/file-icons/folder-views-open.svg diff --git a/packages/app/src/assets/file-icons/folder-views.svg b/packages/desktop/src/assets/file-icons/folder-views.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-views.svg rename to packages/desktop/src/assets/file-icons/folder-views.svg diff --git a/packages/app/src/assets/file-icons/folder-vm-open.svg b/packages/desktop/src/assets/file-icons/folder-vm-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vm-open.svg rename to packages/desktop/src/assets/file-icons/folder-vm-open.svg diff --git a/packages/app/src/assets/file-icons/folder-vm.svg b/packages/desktop/src/assets/file-icons/folder-vm.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vm.svg rename to packages/desktop/src/assets/file-icons/folder-vm.svg diff --git a/packages/app/src/assets/file-icons/folder-vscode-open.svg b/packages/desktop/src/assets/file-icons/folder-vscode-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vscode-open.svg rename to packages/desktop/src/assets/file-icons/folder-vscode-open.svg diff --git a/packages/app/src/assets/file-icons/folder-vscode.svg b/packages/desktop/src/assets/file-icons/folder-vscode.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vscode.svg rename to packages/desktop/src/assets/file-icons/folder-vscode.svg diff --git a/packages/app/src/assets/file-icons/folder-vue-directives-open.svg b/packages/desktop/src/assets/file-icons/folder-vue-directives-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vue-directives-open.svg rename to packages/desktop/src/assets/file-icons/folder-vue-directives-open.svg diff --git a/packages/app/src/assets/file-icons/folder-vue-directives.svg b/packages/desktop/src/assets/file-icons/folder-vue-directives.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vue-directives.svg rename to packages/desktop/src/assets/file-icons/folder-vue-directives.svg diff --git a/packages/app/src/assets/file-icons/folder-vue-open.svg b/packages/desktop/src/assets/file-icons/folder-vue-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vue-open.svg rename to packages/desktop/src/assets/file-icons/folder-vue-open.svg diff --git a/packages/app/src/assets/file-icons/folder-vue.svg b/packages/desktop/src/assets/file-icons/folder-vue.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vue.svg rename to packages/desktop/src/assets/file-icons/folder-vue.svg diff --git a/packages/app/src/assets/file-icons/folder-vuepress-open.svg b/packages/desktop/src/assets/file-icons/folder-vuepress-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vuepress-open.svg rename to packages/desktop/src/assets/file-icons/folder-vuepress-open.svg diff --git a/packages/app/src/assets/file-icons/folder-vuepress.svg b/packages/desktop/src/assets/file-icons/folder-vuepress.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vuepress.svg rename to packages/desktop/src/assets/file-icons/folder-vuepress.svg diff --git a/packages/app/src/assets/file-icons/folder-vuex-store-open.svg b/packages/desktop/src/assets/file-icons/folder-vuex-store-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vuex-store-open.svg rename to packages/desktop/src/assets/file-icons/folder-vuex-store-open.svg diff --git a/packages/app/src/assets/file-icons/folder-vuex-store.svg b/packages/desktop/src/assets/file-icons/folder-vuex-store.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-vuex-store.svg rename to packages/desktop/src/assets/file-icons/folder-vuex-store.svg diff --git a/packages/app/src/assets/file-icons/folder-wakatime-open.svg b/packages/desktop/src/assets/file-icons/folder-wakatime-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-wakatime-open.svg rename to packages/desktop/src/assets/file-icons/folder-wakatime-open.svg diff --git a/packages/app/src/assets/file-icons/folder-wakatime.svg b/packages/desktop/src/assets/file-icons/folder-wakatime.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-wakatime.svg rename to packages/desktop/src/assets/file-icons/folder-wakatime.svg diff --git a/packages/app/src/assets/file-icons/folder-webpack-open.svg b/packages/desktop/src/assets/file-icons/folder-webpack-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-webpack-open.svg rename to packages/desktop/src/assets/file-icons/folder-webpack-open.svg diff --git a/packages/app/src/assets/file-icons/folder-webpack.svg b/packages/desktop/src/assets/file-icons/folder-webpack.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-webpack.svg rename to packages/desktop/src/assets/file-icons/folder-webpack.svg diff --git a/packages/app/src/assets/file-icons/folder-windows-open.svg b/packages/desktop/src/assets/file-icons/folder-windows-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-windows-open.svg rename to packages/desktop/src/assets/file-icons/folder-windows-open.svg diff --git a/packages/app/src/assets/file-icons/folder-windows.svg b/packages/desktop/src/assets/file-icons/folder-windows.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-windows.svg rename to packages/desktop/src/assets/file-icons/folder-windows.svg diff --git a/packages/app/src/assets/file-icons/folder-wordpress-open.svg b/packages/desktop/src/assets/file-icons/folder-wordpress-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-wordpress-open.svg rename to packages/desktop/src/assets/file-icons/folder-wordpress-open.svg diff --git a/packages/app/src/assets/file-icons/folder-wordpress.svg b/packages/desktop/src/assets/file-icons/folder-wordpress.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-wordpress.svg rename to packages/desktop/src/assets/file-icons/folder-wordpress.svg diff --git a/packages/app/src/assets/file-icons/folder-yarn-open.svg b/packages/desktop/src/assets/file-icons/folder-yarn-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-yarn-open.svg rename to packages/desktop/src/assets/file-icons/folder-yarn-open.svg diff --git a/packages/app/src/assets/file-icons/folder-yarn.svg b/packages/desktop/src/assets/file-icons/folder-yarn.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-yarn.svg rename to packages/desktop/src/assets/file-icons/folder-yarn.svg diff --git a/packages/app/src/assets/file-icons/folder-zeabur-open.svg b/packages/desktop/src/assets/file-icons/folder-zeabur-open.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-zeabur-open.svg rename to packages/desktop/src/assets/file-icons/folder-zeabur-open.svg diff --git a/packages/app/src/assets/file-icons/folder-zeabur.svg b/packages/desktop/src/assets/file-icons/folder-zeabur.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder-zeabur.svg rename to packages/desktop/src/assets/file-icons/folder-zeabur.svg diff --git a/packages/app/src/assets/file-icons/folder.svg b/packages/desktop/src/assets/file-icons/folder.svg similarity index 100% rename from packages/app/src/assets/file-icons/folder.svg rename to packages/desktop/src/assets/file-icons/folder.svg diff --git a/packages/app/src/assets/file-icons/font.svg b/packages/desktop/src/assets/file-icons/font.svg similarity index 100% rename from packages/app/src/assets/file-icons/font.svg rename to packages/desktop/src/assets/file-icons/font.svg diff --git a/packages/app/src/assets/file-icons/forth.svg b/packages/desktop/src/assets/file-icons/forth.svg similarity index 100% rename from packages/app/src/assets/file-icons/forth.svg rename to packages/desktop/src/assets/file-icons/forth.svg diff --git a/packages/app/src/assets/file-icons/fortran.svg b/packages/desktop/src/assets/file-icons/fortran.svg similarity index 100% rename from packages/app/src/assets/file-icons/fortran.svg rename to packages/desktop/src/assets/file-icons/fortran.svg diff --git a/packages/app/src/assets/file-icons/foxpro.svg b/packages/desktop/src/assets/file-icons/foxpro.svg similarity index 100% rename from packages/app/src/assets/file-icons/foxpro.svg rename to packages/desktop/src/assets/file-icons/foxpro.svg diff --git a/packages/app/src/assets/file-icons/freemarker.svg b/packages/desktop/src/assets/file-icons/freemarker.svg similarity index 100% rename from packages/app/src/assets/file-icons/freemarker.svg rename to packages/desktop/src/assets/file-icons/freemarker.svg diff --git a/packages/app/src/assets/file-icons/fsharp.svg b/packages/desktop/src/assets/file-icons/fsharp.svg similarity index 100% rename from packages/app/src/assets/file-icons/fsharp.svg rename to packages/desktop/src/assets/file-icons/fsharp.svg diff --git a/packages/app/src/assets/file-icons/fusebox.svg b/packages/desktop/src/assets/file-icons/fusebox.svg similarity index 100% rename from packages/app/src/assets/file-icons/fusebox.svg rename to packages/desktop/src/assets/file-icons/fusebox.svg diff --git a/packages/app/src/assets/file-icons/gamemaker.svg b/packages/desktop/src/assets/file-icons/gamemaker.svg similarity index 100% rename from packages/app/src/assets/file-icons/gamemaker.svg rename to packages/desktop/src/assets/file-icons/gamemaker.svg diff --git a/packages/app/src/assets/file-icons/garden.svg b/packages/desktop/src/assets/file-icons/garden.svg similarity index 100% rename from packages/app/src/assets/file-icons/garden.svg rename to packages/desktop/src/assets/file-icons/garden.svg diff --git a/packages/app/src/assets/file-icons/gatsby.svg b/packages/desktop/src/assets/file-icons/gatsby.svg similarity index 100% rename from packages/app/src/assets/file-icons/gatsby.svg rename to packages/desktop/src/assets/file-icons/gatsby.svg diff --git a/packages/app/src/assets/file-icons/gcp.svg b/packages/desktop/src/assets/file-icons/gcp.svg similarity index 100% rename from packages/app/src/assets/file-icons/gcp.svg rename to packages/desktop/src/assets/file-icons/gcp.svg diff --git a/packages/app/src/assets/file-icons/gemfile.svg b/packages/desktop/src/assets/file-icons/gemfile.svg similarity index 100% rename from packages/app/src/assets/file-icons/gemfile.svg rename to packages/desktop/src/assets/file-icons/gemfile.svg diff --git a/packages/app/src/assets/file-icons/gemini-ai.svg b/packages/desktop/src/assets/file-icons/gemini-ai.svg similarity index 100% rename from packages/app/src/assets/file-icons/gemini-ai.svg rename to packages/desktop/src/assets/file-icons/gemini-ai.svg diff --git a/packages/app/src/assets/file-icons/gemini.svg b/packages/desktop/src/assets/file-icons/gemini.svg similarity index 100% rename from packages/app/src/assets/file-icons/gemini.svg rename to packages/desktop/src/assets/file-icons/gemini.svg diff --git a/packages/app/src/assets/file-icons/git.svg b/packages/desktop/src/assets/file-icons/git.svg similarity index 100% rename from packages/app/src/assets/file-icons/git.svg rename to packages/desktop/src/assets/file-icons/git.svg diff --git a/packages/app/src/assets/file-icons/github-actions-workflow.svg b/packages/desktop/src/assets/file-icons/github-actions-workflow.svg similarity index 100% rename from packages/app/src/assets/file-icons/github-actions-workflow.svg rename to packages/desktop/src/assets/file-icons/github-actions-workflow.svg diff --git a/packages/app/src/assets/file-icons/github-sponsors.svg b/packages/desktop/src/assets/file-icons/github-sponsors.svg similarity index 100% rename from packages/app/src/assets/file-icons/github-sponsors.svg rename to packages/desktop/src/assets/file-icons/github-sponsors.svg diff --git a/packages/app/src/assets/file-icons/gitlab.svg b/packages/desktop/src/assets/file-icons/gitlab.svg similarity index 100% rename from packages/app/src/assets/file-icons/gitlab.svg rename to packages/desktop/src/assets/file-icons/gitlab.svg diff --git a/packages/app/src/assets/file-icons/gitpod.svg b/packages/desktop/src/assets/file-icons/gitpod.svg similarity index 100% rename from packages/app/src/assets/file-icons/gitpod.svg rename to packages/desktop/src/assets/file-icons/gitpod.svg diff --git a/packages/app/src/assets/file-icons/gleam.svg b/packages/desktop/src/assets/file-icons/gleam.svg similarity index 100% rename from packages/app/src/assets/file-icons/gleam.svg rename to packages/desktop/src/assets/file-icons/gleam.svg diff --git a/packages/app/src/assets/file-icons/gnuplot.svg b/packages/desktop/src/assets/file-icons/gnuplot.svg similarity index 100% rename from packages/app/src/assets/file-icons/gnuplot.svg rename to packages/desktop/src/assets/file-icons/gnuplot.svg diff --git a/packages/app/src/assets/file-icons/go-mod.svg b/packages/desktop/src/assets/file-icons/go-mod.svg similarity index 100% rename from packages/app/src/assets/file-icons/go-mod.svg rename to packages/desktop/src/assets/file-icons/go-mod.svg diff --git a/packages/app/src/assets/file-icons/go.svg b/packages/desktop/src/assets/file-icons/go.svg similarity index 100% rename from packages/app/src/assets/file-icons/go.svg rename to packages/desktop/src/assets/file-icons/go.svg diff --git a/packages/app/src/assets/file-icons/go_gopher.svg b/packages/desktop/src/assets/file-icons/go_gopher.svg similarity index 100% rename from packages/app/src/assets/file-icons/go_gopher.svg rename to packages/desktop/src/assets/file-icons/go_gopher.svg diff --git a/packages/app/src/assets/file-icons/godot-assets.svg b/packages/desktop/src/assets/file-icons/godot-assets.svg similarity index 100% rename from packages/app/src/assets/file-icons/godot-assets.svg rename to packages/desktop/src/assets/file-icons/godot-assets.svg diff --git a/packages/app/src/assets/file-icons/godot.svg b/packages/desktop/src/assets/file-icons/godot.svg similarity index 100% rename from packages/app/src/assets/file-icons/godot.svg rename to packages/desktop/src/assets/file-icons/godot.svg diff --git a/packages/app/src/assets/file-icons/gradle.svg b/packages/desktop/src/assets/file-icons/gradle.svg similarity index 100% rename from packages/app/src/assets/file-icons/gradle.svg rename to packages/desktop/src/assets/file-icons/gradle.svg diff --git a/packages/app/src/assets/file-icons/grafana-alloy.svg b/packages/desktop/src/assets/file-icons/grafana-alloy.svg similarity index 100% rename from packages/app/src/assets/file-icons/grafana-alloy.svg rename to packages/desktop/src/assets/file-icons/grafana-alloy.svg diff --git a/packages/app/src/assets/file-icons/grain.svg b/packages/desktop/src/assets/file-icons/grain.svg similarity index 100% rename from packages/app/src/assets/file-icons/grain.svg rename to packages/desktop/src/assets/file-icons/grain.svg diff --git a/packages/app/src/assets/file-icons/graphcool.svg b/packages/desktop/src/assets/file-icons/graphcool.svg similarity index 100% rename from packages/app/src/assets/file-icons/graphcool.svg rename to packages/desktop/src/assets/file-icons/graphcool.svg diff --git a/packages/app/src/assets/file-icons/graphql.svg b/packages/desktop/src/assets/file-icons/graphql.svg similarity index 100% rename from packages/app/src/assets/file-icons/graphql.svg rename to packages/desktop/src/assets/file-icons/graphql.svg diff --git a/packages/app/src/assets/file-icons/gridsome.svg b/packages/desktop/src/assets/file-icons/gridsome.svg similarity index 100% rename from packages/app/src/assets/file-icons/gridsome.svg rename to packages/desktop/src/assets/file-icons/gridsome.svg diff --git a/packages/app/src/assets/file-icons/groovy.svg b/packages/desktop/src/assets/file-icons/groovy.svg similarity index 100% rename from packages/app/src/assets/file-icons/groovy.svg rename to packages/desktop/src/assets/file-icons/groovy.svg diff --git a/packages/app/src/assets/file-icons/grunt.svg b/packages/desktop/src/assets/file-icons/grunt.svg similarity index 100% rename from packages/app/src/assets/file-icons/grunt.svg rename to packages/desktop/src/assets/file-icons/grunt.svg diff --git a/packages/app/src/assets/file-icons/gulp.svg b/packages/desktop/src/assets/file-icons/gulp.svg similarity index 100% rename from packages/app/src/assets/file-icons/gulp.svg rename to packages/desktop/src/assets/file-icons/gulp.svg diff --git a/packages/app/src/assets/file-icons/h.svg b/packages/desktop/src/assets/file-icons/h.svg similarity index 100% rename from packages/app/src/assets/file-icons/h.svg rename to packages/desktop/src/assets/file-icons/h.svg diff --git a/packages/app/src/assets/file-icons/hack.svg b/packages/desktop/src/assets/file-icons/hack.svg similarity index 100% rename from packages/app/src/assets/file-icons/hack.svg rename to packages/desktop/src/assets/file-icons/hack.svg diff --git a/packages/app/src/assets/file-icons/hadolint.svg b/packages/desktop/src/assets/file-icons/hadolint.svg similarity index 100% rename from packages/app/src/assets/file-icons/hadolint.svg rename to packages/desktop/src/assets/file-icons/hadolint.svg diff --git a/packages/app/src/assets/file-icons/haml.svg b/packages/desktop/src/assets/file-icons/haml.svg similarity index 100% rename from packages/app/src/assets/file-icons/haml.svg rename to packages/desktop/src/assets/file-icons/haml.svg diff --git a/packages/app/src/assets/file-icons/handlebars.svg b/packages/desktop/src/assets/file-icons/handlebars.svg similarity index 100% rename from packages/app/src/assets/file-icons/handlebars.svg rename to packages/desktop/src/assets/file-icons/handlebars.svg diff --git a/packages/app/src/assets/file-icons/hardhat.svg b/packages/desktop/src/assets/file-icons/hardhat.svg similarity index 100% rename from packages/app/src/assets/file-icons/hardhat.svg rename to packages/desktop/src/assets/file-icons/hardhat.svg diff --git a/packages/app/src/assets/file-icons/harmonix.svg b/packages/desktop/src/assets/file-icons/harmonix.svg similarity index 100% rename from packages/app/src/assets/file-icons/harmonix.svg rename to packages/desktop/src/assets/file-icons/harmonix.svg diff --git a/packages/app/src/assets/file-icons/haskell.svg b/packages/desktop/src/assets/file-icons/haskell.svg similarity index 100% rename from packages/app/src/assets/file-icons/haskell.svg rename to packages/desktop/src/assets/file-icons/haskell.svg diff --git a/packages/app/src/assets/file-icons/haxe.svg b/packages/desktop/src/assets/file-icons/haxe.svg similarity index 100% rename from packages/app/src/assets/file-icons/haxe.svg rename to packages/desktop/src/assets/file-icons/haxe.svg diff --git a/packages/app/src/assets/file-icons/hcl.svg b/packages/desktop/src/assets/file-icons/hcl.svg similarity index 100% rename from packages/app/src/assets/file-icons/hcl.svg rename to packages/desktop/src/assets/file-icons/hcl.svg diff --git a/packages/app/src/assets/file-icons/hcl_light.svg b/packages/desktop/src/assets/file-icons/hcl_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/hcl_light.svg rename to packages/desktop/src/assets/file-icons/hcl_light.svg diff --git a/packages/app/src/assets/file-icons/helm.svg b/packages/desktop/src/assets/file-icons/helm.svg similarity index 100% rename from packages/app/src/assets/file-icons/helm.svg rename to packages/desktop/src/assets/file-icons/helm.svg diff --git a/packages/app/src/assets/file-icons/heroku.svg b/packages/desktop/src/assets/file-icons/heroku.svg similarity index 100% rename from packages/app/src/assets/file-icons/heroku.svg rename to packages/desktop/src/assets/file-icons/heroku.svg diff --git a/packages/app/src/assets/file-icons/hex.svg b/packages/desktop/src/assets/file-icons/hex.svg similarity index 100% rename from packages/app/src/assets/file-icons/hex.svg rename to packages/desktop/src/assets/file-icons/hex.svg diff --git a/packages/app/src/assets/file-icons/histoire.svg b/packages/desktop/src/assets/file-icons/histoire.svg similarity index 100% rename from packages/app/src/assets/file-icons/histoire.svg rename to packages/desktop/src/assets/file-icons/histoire.svg diff --git a/packages/app/src/assets/file-icons/hjson.svg b/packages/desktop/src/assets/file-icons/hjson.svg similarity index 100% rename from packages/app/src/assets/file-icons/hjson.svg rename to packages/desktop/src/assets/file-icons/hjson.svg diff --git a/packages/app/src/assets/file-icons/horusec.svg b/packages/desktop/src/assets/file-icons/horusec.svg similarity index 100% rename from packages/app/src/assets/file-icons/horusec.svg rename to packages/desktop/src/assets/file-icons/horusec.svg diff --git a/packages/app/src/assets/file-icons/hosts.svg b/packages/desktop/src/assets/file-icons/hosts.svg similarity index 100% rename from packages/app/src/assets/file-icons/hosts.svg rename to packages/desktop/src/assets/file-icons/hosts.svg diff --git a/packages/app/src/assets/file-icons/hosts_light.svg b/packages/desktop/src/assets/file-icons/hosts_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/hosts_light.svg rename to packages/desktop/src/assets/file-icons/hosts_light.svg diff --git a/packages/app/src/assets/file-icons/hpp.svg b/packages/desktop/src/assets/file-icons/hpp.svg similarity index 100% rename from packages/app/src/assets/file-icons/hpp.svg rename to packages/desktop/src/assets/file-icons/hpp.svg diff --git a/packages/app/src/assets/file-icons/html.svg b/packages/desktop/src/assets/file-icons/html.svg similarity index 100% rename from packages/app/src/assets/file-icons/html.svg rename to packages/desktop/src/assets/file-icons/html.svg diff --git a/packages/app/src/assets/file-icons/http.svg b/packages/desktop/src/assets/file-icons/http.svg similarity index 100% rename from packages/app/src/assets/file-icons/http.svg rename to packages/desktop/src/assets/file-icons/http.svg diff --git a/packages/app/src/assets/file-icons/huff.svg b/packages/desktop/src/assets/file-icons/huff.svg similarity index 100% rename from packages/app/src/assets/file-icons/huff.svg rename to packages/desktop/src/assets/file-icons/huff.svg diff --git a/packages/app/src/assets/file-icons/huff_light.svg b/packages/desktop/src/assets/file-icons/huff_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/huff_light.svg rename to packages/desktop/src/assets/file-icons/huff_light.svg diff --git a/packages/app/src/assets/file-icons/hurl.svg b/packages/desktop/src/assets/file-icons/hurl.svg similarity index 100% rename from packages/app/src/assets/file-icons/hurl.svg rename to packages/desktop/src/assets/file-icons/hurl.svg diff --git a/packages/app/src/assets/file-icons/husky.svg b/packages/desktop/src/assets/file-icons/husky.svg similarity index 100% rename from packages/app/src/assets/file-icons/husky.svg rename to packages/desktop/src/assets/file-icons/husky.svg diff --git a/packages/app/src/assets/file-icons/i18n.svg b/packages/desktop/src/assets/file-icons/i18n.svg similarity index 100% rename from packages/app/src/assets/file-icons/i18n.svg rename to packages/desktop/src/assets/file-icons/i18n.svg diff --git a/packages/app/src/assets/file-icons/idris.svg b/packages/desktop/src/assets/file-icons/idris.svg similarity index 100% rename from packages/app/src/assets/file-icons/idris.svg rename to packages/desktop/src/assets/file-icons/idris.svg diff --git a/packages/app/src/assets/file-icons/ifanr-cloud.svg b/packages/desktop/src/assets/file-icons/ifanr-cloud.svg similarity index 100% rename from packages/app/src/assets/file-icons/ifanr-cloud.svg rename to packages/desktop/src/assets/file-icons/ifanr-cloud.svg diff --git a/packages/app/src/assets/file-icons/image.svg b/packages/desktop/src/assets/file-icons/image.svg similarity index 100% rename from packages/app/src/assets/file-icons/image.svg rename to packages/desktop/src/assets/file-icons/image.svg diff --git a/packages/app/src/assets/file-icons/imba.svg b/packages/desktop/src/assets/file-icons/imba.svg similarity index 100% rename from packages/app/src/assets/file-icons/imba.svg rename to packages/desktop/src/assets/file-icons/imba.svg diff --git a/packages/app/src/assets/file-icons/installation.svg b/packages/desktop/src/assets/file-icons/installation.svg similarity index 100% rename from packages/app/src/assets/file-icons/installation.svg rename to packages/desktop/src/assets/file-icons/installation.svg diff --git a/packages/app/src/assets/file-icons/ionic.svg b/packages/desktop/src/assets/file-icons/ionic.svg similarity index 100% rename from packages/app/src/assets/file-icons/ionic.svg rename to packages/desktop/src/assets/file-icons/ionic.svg diff --git a/packages/app/src/assets/file-icons/istanbul.svg b/packages/desktop/src/assets/file-icons/istanbul.svg similarity index 100% rename from packages/app/src/assets/file-icons/istanbul.svg rename to packages/desktop/src/assets/file-icons/istanbul.svg diff --git a/packages/app/src/assets/file-icons/jar.svg b/packages/desktop/src/assets/file-icons/jar.svg similarity index 100% rename from packages/app/src/assets/file-icons/jar.svg rename to packages/desktop/src/assets/file-icons/jar.svg diff --git a/packages/app/src/assets/file-icons/java.svg b/packages/desktop/src/assets/file-icons/java.svg similarity index 100% rename from packages/app/src/assets/file-icons/java.svg rename to packages/desktop/src/assets/file-icons/java.svg diff --git a/packages/app/src/assets/file-icons/javaclass.svg b/packages/desktop/src/assets/file-icons/javaclass.svg similarity index 100% rename from packages/app/src/assets/file-icons/javaclass.svg rename to packages/desktop/src/assets/file-icons/javaclass.svg diff --git a/packages/app/src/assets/file-icons/javascript-map.svg b/packages/desktop/src/assets/file-icons/javascript-map.svg similarity index 100% rename from packages/app/src/assets/file-icons/javascript-map.svg rename to packages/desktop/src/assets/file-icons/javascript-map.svg diff --git a/packages/app/src/assets/file-icons/javascript.svg b/packages/desktop/src/assets/file-icons/javascript.svg similarity index 100% rename from packages/app/src/assets/file-icons/javascript.svg rename to packages/desktop/src/assets/file-icons/javascript.svg diff --git a/packages/app/src/assets/file-icons/jenkins.svg b/packages/desktop/src/assets/file-icons/jenkins.svg similarity index 100% rename from packages/app/src/assets/file-icons/jenkins.svg rename to packages/desktop/src/assets/file-icons/jenkins.svg diff --git a/packages/app/src/assets/file-icons/jest.svg b/packages/desktop/src/assets/file-icons/jest.svg similarity index 100% rename from packages/app/src/assets/file-icons/jest.svg rename to packages/desktop/src/assets/file-icons/jest.svg diff --git a/packages/app/src/assets/file-icons/jinja.svg b/packages/desktop/src/assets/file-icons/jinja.svg similarity index 100% rename from packages/app/src/assets/file-icons/jinja.svg rename to packages/desktop/src/assets/file-icons/jinja.svg diff --git a/packages/app/src/assets/file-icons/jinja_light.svg b/packages/desktop/src/assets/file-icons/jinja_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/jinja_light.svg rename to packages/desktop/src/assets/file-icons/jinja_light.svg diff --git a/packages/app/src/assets/file-icons/jsconfig.svg b/packages/desktop/src/assets/file-icons/jsconfig.svg similarity index 100% rename from packages/app/src/assets/file-icons/jsconfig.svg rename to packages/desktop/src/assets/file-icons/jsconfig.svg diff --git a/packages/app/src/assets/file-icons/json.svg b/packages/desktop/src/assets/file-icons/json.svg similarity index 100% rename from packages/app/src/assets/file-icons/json.svg rename to packages/desktop/src/assets/file-icons/json.svg diff --git a/packages/app/src/assets/file-icons/jsr.svg b/packages/desktop/src/assets/file-icons/jsr.svg similarity index 100% rename from packages/app/src/assets/file-icons/jsr.svg rename to packages/desktop/src/assets/file-icons/jsr.svg diff --git a/packages/app/src/assets/file-icons/jsr_light.svg b/packages/desktop/src/assets/file-icons/jsr_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/jsr_light.svg rename to packages/desktop/src/assets/file-icons/jsr_light.svg diff --git a/packages/app/src/assets/file-icons/julia.svg b/packages/desktop/src/assets/file-icons/julia.svg similarity index 100% rename from packages/app/src/assets/file-icons/julia.svg rename to packages/desktop/src/assets/file-icons/julia.svg diff --git a/packages/app/src/assets/file-icons/jupyter.svg b/packages/desktop/src/assets/file-icons/jupyter.svg similarity index 100% rename from packages/app/src/assets/file-icons/jupyter.svg rename to packages/desktop/src/assets/file-icons/jupyter.svg diff --git a/packages/app/src/assets/file-icons/just.svg b/packages/desktop/src/assets/file-icons/just.svg similarity index 100% rename from packages/app/src/assets/file-icons/just.svg rename to packages/desktop/src/assets/file-icons/just.svg diff --git a/packages/app/src/assets/file-icons/karma.svg b/packages/desktop/src/assets/file-icons/karma.svg similarity index 100% rename from packages/app/src/assets/file-icons/karma.svg rename to packages/desktop/src/assets/file-icons/karma.svg diff --git a/packages/app/src/assets/file-icons/kcl.svg b/packages/desktop/src/assets/file-icons/kcl.svg similarity index 100% rename from packages/app/src/assets/file-icons/kcl.svg rename to packages/desktop/src/assets/file-icons/kcl.svg diff --git a/packages/app/src/assets/file-icons/key.svg b/packages/desktop/src/assets/file-icons/key.svg similarity index 100% rename from packages/app/src/assets/file-icons/key.svg rename to packages/desktop/src/assets/file-icons/key.svg diff --git a/packages/app/src/assets/file-icons/keystatic.svg b/packages/desktop/src/assets/file-icons/keystatic.svg similarity index 100% rename from packages/app/src/assets/file-icons/keystatic.svg rename to packages/desktop/src/assets/file-icons/keystatic.svg diff --git a/packages/app/src/assets/file-icons/kivy.svg b/packages/desktop/src/assets/file-icons/kivy.svg similarity index 100% rename from packages/app/src/assets/file-icons/kivy.svg rename to packages/desktop/src/assets/file-icons/kivy.svg diff --git a/packages/app/src/assets/file-icons/kl.svg b/packages/desktop/src/assets/file-icons/kl.svg similarity index 100% rename from packages/app/src/assets/file-icons/kl.svg rename to packages/desktop/src/assets/file-icons/kl.svg diff --git a/packages/app/src/assets/file-icons/knip.svg b/packages/desktop/src/assets/file-icons/knip.svg similarity index 100% rename from packages/app/src/assets/file-icons/knip.svg rename to packages/desktop/src/assets/file-icons/knip.svg diff --git a/packages/app/src/assets/file-icons/kotlin.svg b/packages/desktop/src/assets/file-icons/kotlin.svg similarity index 100% rename from packages/app/src/assets/file-icons/kotlin.svg rename to packages/desktop/src/assets/file-icons/kotlin.svg diff --git a/packages/app/src/assets/file-icons/kubernetes.svg b/packages/desktop/src/assets/file-icons/kubernetes.svg similarity index 100% rename from packages/app/src/assets/file-icons/kubernetes.svg rename to packages/desktop/src/assets/file-icons/kubernetes.svg diff --git a/packages/app/src/assets/file-icons/kusto.svg b/packages/desktop/src/assets/file-icons/kusto.svg similarity index 100% rename from packages/app/src/assets/file-icons/kusto.svg rename to packages/desktop/src/assets/file-icons/kusto.svg diff --git a/packages/app/src/assets/file-icons/label.svg b/packages/desktop/src/assets/file-icons/label.svg similarity index 100% rename from packages/app/src/assets/file-icons/label.svg rename to packages/desktop/src/assets/file-icons/label.svg diff --git a/packages/app/src/assets/file-icons/laravel.svg b/packages/desktop/src/assets/file-icons/laravel.svg similarity index 100% rename from packages/app/src/assets/file-icons/laravel.svg rename to packages/desktop/src/assets/file-icons/laravel.svg diff --git a/packages/app/src/assets/file-icons/latexmk.svg b/packages/desktop/src/assets/file-icons/latexmk.svg similarity index 100% rename from packages/app/src/assets/file-icons/latexmk.svg rename to packages/desktop/src/assets/file-icons/latexmk.svg diff --git a/packages/app/src/assets/file-icons/lbx.svg b/packages/desktop/src/assets/file-icons/lbx.svg similarity index 100% rename from packages/app/src/assets/file-icons/lbx.svg rename to packages/desktop/src/assets/file-icons/lbx.svg diff --git a/packages/app/src/assets/file-icons/lefthook.svg b/packages/desktop/src/assets/file-icons/lefthook.svg similarity index 100% rename from packages/app/src/assets/file-icons/lefthook.svg rename to packages/desktop/src/assets/file-icons/lefthook.svg diff --git a/packages/app/src/assets/file-icons/lerna.svg b/packages/desktop/src/assets/file-icons/lerna.svg similarity index 100% rename from packages/app/src/assets/file-icons/lerna.svg rename to packages/desktop/src/assets/file-icons/lerna.svg diff --git a/packages/app/src/assets/file-icons/less.svg b/packages/desktop/src/assets/file-icons/less.svg similarity index 100% rename from packages/app/src/assets/file-icons/less.svg rename to packages/desktop/src/assets/file-icons/less.svg diff --git a/packages/app/src/assets/file-icons/liara.svg b/packages/desktop/src/assets/file-icons/liara.svg similarity index 100% rename from packages/app/src/assets/file-icons/liara.svg rename to packages/desktop/src/assets/file-icons/liara.svg diff --git a/packages/app/src/assets/file-icons/lib.svg b/packages/desktop/src/assets/file-icons/lib.svg similarity index 100% rename from packages/app/src/assets/file-icons/lib.svg rename to packages/desktop/src/assets/file-icons/lib.svg diff --git a/packages/app/src/assets/file-icons/lighthouse.svg b/packages/desktop/src/assets/file-icons/lighthouse.svg similarity index 100% rename from packages/app/src/assets/file-icons/lighthouse.svg rename to packages/desktop/src/assets/file-icons/lighthouse.svg diff --git a/packages/app/src/assets/file-icons/lilypond.svg b/packages/desktop/src/assets/file-icons/lilypond.svg similarity index 100% rename from packages/app/src/assets/file-icons/lilypond.svg rename to packages/desktop/src/assets/file-icons/lilypond.svg diff --git a/packages/app/src/assets/file-icons/lintstaged.svg b/packages/desktop/src/assets/file-icons/lintstaged.svg similarity index 100% rename from packages/app/src/assets/file-icons/lintstaged.svg rename to packages/desktop/src/assets/file-icons/lintstaged.svg diff --git a/packages/app/src/assets/file-icons/liquid.svg b/packages/desktop/src/assets/file-icons/liquid.svg similarity index 100% rename from packages/app/src/assets/file-icons/liquid.svg rename to packages/desktop/src/assets/file-icons/liquid.svg diff --git a/packages/app/src/assets/file-icons/lisp.svg b/packages/desktop/src/assets/file-icons/lisp.svg similarity index 100% rename from packages/app/src/assets/file-icons/lisp.svg rename to packages/desktop/src/assets/file-icons/lisp.svg diff --git a/packages/app/src/assets/file-icons/livescript.svg b/packages/desktop/src/assets/file-icons/livescript.svg similarity index 100% rename from packages/app/src/assets/file-icons/livescript.svg rename to packages/desktop/src/assets/file-icons/livescript.svg diff --git a/packages/app/src/assets/file-icons/lock.svg b/packages/desktop/src/assets/file-icons/lock.svg similarity index 100% rename from packages/app/src/assets/file-icons/lock.svg rename to packages/desktop/src/assets/file-icons/lock.svg diff --git a/packages/app/src/assets/file-icons/log.svg b/packages/desktop/src/assets/file-icons/log.svg similarity index 100% rename from packages/app/src/assets/file-icons/log.svg rename to packages/desktop/src/assets/file-icons/log.svg diff --git a/packages/app/src/assets/file-icons/lolcode.svg b/packages/desktop/src/assets/file-icons/lolcode.svg similarity index 100% rename from packages/app/src/assets/file-icons/lolcode.svg rename to packages/desktop/src/assets/file-icons/lolcode.svg diff --git a/packages/app/src/assets/file-icons/lottie.svg b/packages/desktop/src/assets/file-icons/lottie.svg similarity index 100% rename from packages/app/src/assets/file-icons/lottie.svg rename to packages/desktop/src/assets/file-icons/lottie.svg diff --git a/packages/app/src/assets/file-icons/lua.svg b/packages/desktop/src/assets/file-icons/lua.svg similarity index 100% rename from packages/app/src/assets/file-icons/lua.svg rename to packages/desktop/src/assets/file-icons/lua.svg diff --git a/packages/app/src/assets/file-icons/luau.svg b/packages/desktop/src/assets/file-icons/luau.svg similarity index 100% rename from packages/app/src/assets/file-icons/luau.svg rename to packages/desktop/src/assets/file-icons/luau.svg diff --git a/packages/app/src/assets/file-icons/lyric.svg b/packages/desktop/src/assets/file-icons/lyric.svg similarity index 100% rename from packages/app/src/assets/file-icons/lyric.svg rename to packages/desktop/src/assets/file-icons/lyric.svg diff --git a/packages/app/src/assets/file-icons/makefile.svg b/packages/desktop/src/assets/file-icons/makefile.svg similarity index 100% rename from packages/app/src/assets/file-icons/makefile.svg rename to packages/desktop/src/assets/file-icons/makefile.svg diff --git a/packages/app/src/assets/file-icons/markdoc-config.svg b/packages/desktop/src/assets/file-icons/markdoc-config.svg similarity index 100% rename from packages/app/src/assets/file-icons/markdoc-config.svg rename to packages/desktop/src/assets/file-icons/markdoc-config.svg diff --git a/packages/app/src/assets/file-icons/markdoc.svg b/packages/desktop/src/assets/file-icons/markdoc.svg similarity index 100% rename from packages/app/src/assets/file-icons/markdoc.svg rename to packages/desktop/src/assets/file-icons/markdoc.svg diff --git a/packages/app/src/assets/file-icons/markdown.svg b/packages/desktop/src/assets/file-icons/markdown.svg similarity index 100% rename from packages/app/src/assets/file-icons/markdown.svg rename to packages/desktop/src/assets/file-icons/markdown.svg diff --git a/packages/app/src/assets/file-icons/markdownlint.svg b/packages/desktop/src/assets/file-icons/markdownlint.svg similarity index 100% rename from packages/app/src/assets/file-icons/markdownlint.svg rename to packages/desktop/src/assets/file-icons/markdownlint.svg diff --git a/packages/app/src/assets/file-icons/markojs.svg b/packages/desktop/src/assets/file-icons/markojs.svg similarity index 100% rename from packages/app/src/assets/file-icons/markojs.svg rename to packages/desktop/src/assets/file-icons/markojs.svg diff --git a/packages/app/src/assets/file-icons/mathematica.svg b/packages/desktop/src/assets/file-icons/mathematica.svg similarity index 100% rename from packages/app/src/assets/file-icons/mathematica.svg rename to packages/desktop/src/assets/file-icons/mathematica.svg diff --git a/packages/app/src/assets/file-icons/matlab.svg b/packages/desktop/src/assets/file-icons/matlab.svg similarity index 100% rename from packages/app/src/assets/file-icons/matlab.svg rename to packages/desktop/src/assets/file-icons/matlab.svg diff --git a/packages/app/src/assets/file-icons/maven.svg b/packages/desktop/src/assets/file-icons/maven.svg similarity index 100% rename from packages/app/src/assets/file-icons/maven.svg rename to packages/desktop/src/assets/file-icons/maven.svg diff --git a/packages/app/src/assets/file-icons/mdsvex.svg b/packages/desktop/src/assets/file-icons/mdsvex.svg similarity index 100% rename from packages/app/src/assets/file-icons/mdsvex.svg rename to packages/desktop/src/assets/file-icons/mdsvex.svg diff --git a/packages/app/src/assets/file-icons/mdx.svg b/packages/desktop/src/assets/file-icons/mdx.svg similarity index 100% rename from packages/app/src/assets/file-icons/mdx.svg rename to packages/desktop/src/assets/file-icons/mdx.svg diff --git a/packages/app/src/assets/file-icons/mercurial.svg b/packages/desktop/src/assets/file-icons/mercurial.svg similarity index 100% rename from packages/app/src/assets/file-icons/mercurial.svg rename to packages/desktop/src/assets/file-icons/mercurial.svg diff --git a/packages/app/src/assets/file-icons/merlin.svg b/packages/desktop/src/assets/file-icons/merlin.svg similarity index 100% rename from packages/app/src/assets/file-icons/merlin.svg rename to packages/desktop/src/assets/file-icons/merlin.svg diff --git a/packages/app/src/assets/file-icons/mermaid.svg b/packages/desktop/src/assets/file-icons/mermaid.svg similarity index 100% rename from packages/app/src/assets/file-icons/mermaid.svg rename to packages/desktop/src/assets/file-icons/mermaid.svg diff --git a/packages/app/src/assets/file-icons/meson.svg b/packages/desktop/src/assets/file-icons/meson.svg similarity index 100% rename from packages/app/src/assets/file-icons/meson.svg rename to packages/desktop/src/assets/file-icons/meson.svg diff --git a/packages/app/src/assets/file-icons/minecraft-fabric.svg b/packages/desktop/src/assets/file-icons/minecraft-fabric.svg similarity index 100% rename from packages/app/src/assets/file-icons/minecraft-fabric.svg rename to packages/desktop/src/assets/file-icons/minecraft-fabric.svg diff --git a/packages/app/src/assets/file-icons/minecraft.svg b/packages/desktop/src/assets/file-icons/minecraft.svg similarity index 100% rename from packages/app/src/assets/file-icons/minecraft.svg rename to packages/desktop/src/assets/file-icons/minecraft.svg diff --git a/packages/app/src/assets/file-icons/mint.svg b/packages/desktop/src/assets/file-icons/mint.svg similarity index 100% rename from packages/app/src/assets/file-icons/mint.svg rename to packages/desktop/src/assets/file-icons/mint.svg diff --git a/packages/app/src/assets/file-icons/mjml.svg b/packages/desktop/src/assets/file-icons/mjml.svg similarity index 100% rename from packages/app/src/assets/file-icons/mjml.svg rename to packages/desktop/src/assets/file-icons/mjml.svg diff --git a/packages/app/src/assets/file-icons/mocha.svg b/packages/desktop/src/assets/file-icons/mocha.svg similarity index 100% rename from packages/app/src/assets/file-icons/mocha.svg rename to packages/desktop/src/assets/file-icons/mocha.svg diff --git a/packages/app/src/assets/file-icons/modernizr.svg b/packages/desktop/src/assets/file-icons/modernizr.svg similarity index 100% rename from packages/app/src/assets/file-icons/modernizr.svg rename to packages/desktop/src/assets/file-icons/modernizr.svg diff --git a/packages/app/src/assets/file-icons/mojo.svg b/packages/desktop/src/assets/file-icons/mojo.svg similarity index 100% rename from packages/app/src/assets/file-icons/mojo.svg rename to packages/desktop/src/assets/file-icons/mojo.svg diff --git a/packages/app/src/assets/file-icons/moon.svg b/packages/desktop/src/assets/file-icons/moon.svg similarity index 100% rename from packages/app/src/assets/file-icons/moon.svg rename to packages/desktop/src/assets/file-icons/moon.svg diff --git a/packages/app/src/assets/file-icons/moonscript.svg b/packages/desktop/src/assets/file-icons/moonscript.svg similarity index 100% rename from packages/app/src/assets/file-icons/moonscript.svg rename to packages/desktop/src/assets/file-icons/moonscript.svg diff --git a/packages/app/src/assets/file-icons/mxml.svg b/packages/desktop/src/assets/file-icons/mxml.svg similarity index 100% rename from packages/app/src/assets/file-icons/mxml.svg rename to packages/desktop/src/assets/file-icons/mxml.svg diff --git a/packages/app/src/assets/file-icons/nano-staged.svg b/packages/desktop/src/assets/file-icons/nano-staged.svg similarity index 100% rename from packages/app/src/assets/file-icons/nano-staged.svg rename to packages/desktop/src/assets/file-icons/nano-staged.svg diff --git a/packages/app/src/assets/file-icons/nano-staged_light.svg b/packages/desktop/src/assets/file-icons/nano-staged_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/nano-staged_light.svg rename to packages/desktop/src/assets/file-icons/nano-staged_light.svg diff --git a/packages/app/src/assets/file-icons/ndst.svg b/packages/desktop/src/assets/file-icons/ndst.svg similarity index 100% rename from packages/app/src/assets/file-icons/ndst.svg rename to packages/desktop/src/assets/file-icons/ndst.svg diff --git a/packages/app/src/assets/file-icons/nest.svg b/packages/desktop/src/assets/file-icons/nest.svg similarity index 100% rename from packages/app/src/assets/file-icons/nest.svg rename to packages/desktop/src/assets/file-icons/nest.svg diff --git a/packages/app/src/assets/file-icons/netlify.svg b/packages/desktop/src/assets/file-icons/netlify.svg similarity index 100% rename from packages/app/src/assets/file-icons/netlify.svg rename to packages/desktop/src/assets/file-icons/netlify.svg diff --git a/packages/app/src/assets/file-icons/netlify_light.svg b/packages/desktop/src/assets/file-icons/netlify_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/netlify_light.svg rename to packages/desktop/src/assets/file-icons/netlify_light.svg diff --git a/packages/app/src/assets/file-icons/next.svg b/packages/desktop/src/assets/file-icons/next.svg similarity index 100% rename from packages/app/src/assets/file-icons/next.svg rename to packages/desktop/src/assets/file-icons/next.svg diff --git a/packages/app/src/assets/file-icons/next_light.svg b/packages/desktop/src/assets/file-icons/next_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/next_light.svg rename to packages/desktop/src/assets/file-icons/next_light.svg diff --git a/packages/app/src/assets/file-icons/nginx.svg b/packages/desktop/src/assets/file-icons/nginx.svg similarity index 100% rename from packages/app/src/assets/file-icons/nginx.svg rename to packages/desktop/src/assets/file-icons/nginx.svg diff --git a/packages/app/src/assets/file-icons/ngrx-actions.svg b/packages/desktop/src/assets/file-icons/ngrx-actions.svg similarity index 100% rename from packages/app/src/assets/file-icons/ngrx-actions.svg rename to packages/desktop/src/assets/file-icons/ngrx-actions.svg diff --git a/packages/app/src/assets/file-icons/ngrx-effects.svg b/packages/desktop/src/assets/file-icons/ngrx-effects.svg similarity index 100% rename from packages/app/src/assets/file-icons/ngrx-effects.svg rename to packages/desktop/src/assets/file-icons/ngrx-effects.svg diff --git a/packages/app/src/assets/file-icons/ngrx-entity.svg b/packages/desktop/src/assets/file-icons/ngrx-entity.svg similarity index 100% rename from packages/app/src/assets/file-icons/ngrx-entity.svg rename to packages/desktop/src/assets/file-icons/ngrx-entity.svg diff --git a/packages/app/src/assets/file-icons/ngrx-reducer.svg b/packages/desktop/src/assets/file-icons/ngrx-reducer.svg similarity index 100% rename from packages/app/src/assets/file-icons/ngrx-reducer.svg rename to packages/desktop/src/assets/file-icons/ngrx-reducer.svg diff --git a/packages/app/src/assets/file-icons/ngrx-selectors.svg b/packages/desktop/src/assets/file-icons/ngrx-selectors.svg similarity index 100% rename from packages/app/src/assets/file-icons/ngrx-selectors.svg rename to packages/desktop/src/assets/file-icons/ngrx-selectors.svg diff --git a/packages/app/src/assets/file-icons/ngrx-state.svg b/packages/desktop/src/assets/file-icons/ngrx-state.svg similarity index 100% rename from packages/app/src/assets/file-icons/ngrx-state.svg rename to packages/desktop/src/assets/file-icons/ngrx-state.svg diff --git a/packages/app/src/assets/file-icons/nim.svg b/packages/desktop/src/assets/file-icons/nim.svg similarity index 100% rename from packages/app/src/assets/file-icons/nim.svg rename to packages/desktop/src/assets/file-icons/nim.svg diff --git a/packages/app/src/assets/file-icons/nix.svg b/packages/desktop/src/assets/file-icons/nix.svg similarity index 100% rename from packages/app/src/assets/file-icons/nix.svg rename to packages/desktop/src/assets/file-icons/nix.svg diff --git a/packages/app/src/assets/file-icons/nodejs.svg b/packages/desktop/src/assets/file-icons/nodejs.svg similarity index 100% rename from packages/app/src/assets/file-icons/nodejs.svg rename to packages/desktop/src/assets/file-icons/nodejs.svg diff --git a/packages/app/src/assets/file-icons/nodejs_alt.svg b/packages/desktop/src/assets/file-icons/nodejs_alt.svg similarity index 100% rename from packages/app/src/assets/file-icons/nodejs_alt.svg rename to packages/desktop/src/assets/file-icons/nodejs_alt.svg diff --git a/packages/app/src/assets/file-icons/nodemon.svg b/packages/desktop/src/assets/file-icons/nodemon.svg similarity index 100% rename from packages/app/src/assets/file-icons/nodemon.svg rename to packages/desktop/src/assets/file-icons/nodemon.svg diff --git a/packages/app/src/assets/file-icons/npm.svg b/packages/desktop/src/assets/file-icons/npm.svg similarity index 100% rename from packages/app/src/assets/file-icons/npm.svg rename to packages/desktop/src/assets/file-icons/npm.svg diff --git a/packages/app/src/assets/file-icons/nuget.svg b/packages/desktop/src/assets/file-icons/nuget.svg similarity index 100% rename from packages/app/src/assets/file-icons/nuget.svg rename to packages/desktop/src/assets/file-icons/nuget.svg diff --git a/packages/app/src/assets/file-icons/nunjucks.svg b/packages/desktop/src/assets/file-icons/nunjucks.svg similarity index 100% rename from packages/app/src/assets/file-icons/nunjucks.svg rename to packages/desktop/src/assets/file-icons/nunjucks.svg diff --git a/packages/app/src/assets/file-icons/nuxt.svg b/packages/desktop/src/assets/file-icons/nuxt.svg similarity index 100% rename from packages/app/src/assets/file-icons/nuxt.svg rename to packages/desktop/src/assets/file-icons/nuxt.svg diff --git a/packages/app/src/assets/file-icons/nx.svg b/packages/desktop/src/assets/file-icons/nx.svg similarity index 100% rename from packages/app/src/assets/file-icons/nx.svg rename to packages/desktop/src/assets/file-icons/nx.svg diff --git a/packages/app/src/assets/file-icons/objective-c.svg b/packages/desktop/src/assets/file-icons/objective-c.svg similarity index 100% rename from packages/app/src/assets/file-icons/objective-c.svg rename to packages/desktop/src/assets/file-icons/objective-c.svg diff --git a/packages/app/src/assets/file-icons/objective-cpp.svg b/packages/desktop/src/assets/file-icons/objective-cpp.svg similarity index 100% rename from packages/app/src/assets/file-icons/objective-cpp.svg rename to packages/desktop/src/assets/file-icons/objective-cpp.svg diff --git a/packages/app/src/assets/file-icons/ocaml.svg b/packages/desktop/src/assets/file-icons/ocaml.svg similarity index 100% rename from packages/app/src/assets/file-icons/ocaml.svg rename to packages/desktop/src/assets/file-icons/ocaml.svg diff --git a/packages/app/src/assets/file-icons/odin.svg b/packages/desktop/src/assets/file-icons/odin.svg similarity index 100% rename from packages/app/src/assets/file-icons/odin.svg rename to packages/desktop/src/assets/file-icons/odin.svg diff --git a/packages/app/src/assets/file-icons/opa.svg b/packages/desktop/src/assets/file-icons/opa.svg similarity index 100% rename from packages/app/src/assets/file-icons/opa.svg rename to packages/desktop/src/assets/file-icons/opa.svg diff --git a/packages/app/src/assets/file-icons/opam.svg b/packages/desktop/src/assets/file-icons/opam.svg similarity index 100% rename from packages/app/src/assets/file-icons/opam.svg rename to packages/desktop/src/assets/file-icons/opam.svg diff --git a/packages/app/src/assets/file-icons/openapi.svg b/packages/desktop/src/assets/file-icons/openapi.svg similarity index 100% rename from packages/app/src/assets/file-icons/openapi.svg rename to packages/desktop/src/assets/file-icons/openapi.svg diff --git a/packages/app/src/assets/file-icons/openapi_light.svg b/packages/desktop/src/assets/file-icons/openapi_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/openapi_light.svg rename to packages/desktop/src/assets/file-icons/openapi_light.svg diff --git a/packages/app/src/assets/file-icons/otne.svg b/packages/desktop/src/assets/file-icons/otne.svg similarity index 100% rename from packages/app/src/assets/file-icons/otne.svg rename to packages/desktop/src/assets/file-icons/otne.svg diff --git a/packages/app/src/assets/file-icons/oxlint.svg b/packages/desktop/src/assets/file-icons/oxlint.svg similarity index 100% rename from packages/app/src/assets/file-icons/oxlint.svg rename to packages/desktop/src/assets/file-icons/oxlint.svg diff --git a/packages/app/src/assets/file-icons/packship.svg b/packages/desktop/src/assets/file-icons/packship.svg similarity index 100% rename from packages/app/src/assets/file-icons/packship.svg rename to packages/desktop/src/assets/file-icons/packship.svg diff --git a/packages/app/src/assets/file-icons/palette.svg b/packages/desktop/src/assets/file-icons/palette.svg similarity index 100% rename from packages/app/src/assets/file-icons/palette.svg rename to packages/desktop/src/assets/file-icons/palette.svg diff --git a/packages/app/src/assets/file-icons/panda.svg b/packages/desktop/src/assets/file-icons/panda.svg similarity index 100% rename from packages/app/src/assets/file-icons/panda.svg rename to packages/desktop/src/assets/file-icons/panda.svg diff --git a/packages/app/src/assets/file-icons/parcel.svg b/packages/desktop/src/assets/file-icons/parcel.svg similarity index 100% rename from packages/app/src/assets/file-icons/parcel.svg rename to packages/desktop/src/assets/file-icons/parcel.svg diff --git a/packages/app/src/assets/file-icons/pascal.svg b/packages/desktop/src/assets/file-icons/pascal.svg similarity index 100% rename from packages/app/src/assets/file-icons/pascal.svg rename to packages/desktop/src/assets/file-icons/pascal.svg diff --git a/packages/app/src/assets/file-icons/pawn.svg b/packages/desktop/src/assets/file-icons/pawn.svg similarity index 100% rename from packages/app/src/assets/file-icons/pawn.svg rename to packages/desktop/src/assets/file-icons/pawn.svg diff --git a/packages/app/src/assets/file-icons/payload.svg b/packages/desktop/src/assets/file-icons/payload.svg similarity index 100% rename from packages/app/src/assets/file-icons/payload.svg rename to packages/desktop/src/assets/file-icons/payload.svg diff --git a/packages/app/src/assets/file-icons/payload_light.svg b/packages/desktop/src/assets/file-icons/payload_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/payload_light.svg rename to packages/desktop/src/assets/file-icons/payload_light.svg diff --git a/packages/app/src/assets/file-icons/pdf.svg b/packages/desktop/src/assets/file-icons/pdf.svg similarity index 100% rename from packages/app/src/assets/file-icons/pdf.svg rename to packages/desktop/src/assets/file-icons/pdf.svg diff --git a/packages/app/src/assets/file-icons/pdm.svg b/packages/desktop/src/assets/file-icons/pdm.svg similarity index 100% rename from packages/app/src/assets/file-icons/pdm.svg rename to packages/desktop/src/assets/file-icons/pdm.svg diff --git a/packages/app/src/assets/file-icons/percy.svg b/packages/desktop/src/assets/file-icons/percy.svg similarity index 100% rename from packages/app/src/assets/file-icons/percy.svg rename to packages/desktop/src/assets/file-icons/percy.svg diff --git a/packages/app/src/assets/file-icons/perl.svg b/packages/desktop/src/assets/file-icons/perl.svg similarity index 100% rename from packages/app/src/assets/file-icons/perl.svg rename to packages/desktop/src/assets/file-icons/perl.svg diff --git a/packages/app/src/assets/file-icons/php-cs-fixer.svg b/packages/desktop/src/assets/file-icons/php-cs-fixer.svg similarity index 100% rename from packages/app/src/assets/file-icons/php-cs-fixer.svg rename to packages/desktop/src/assets/file-icons/php-cs-fixer.svg diff --git a/packages/app/src/assets/file-icons/php.svg b/packages/desktop/src/assets/file-icons/php.svg similarity index 100% rename from packages/app/src/assets/file-icons/php.svg rename to packages/desktop/src/assets/file-icons/php.svg diff --git a/packages/app/src/assets/file-icons/php_elephant.svg b/packages/desktop/src/assets/file-icons/php_elephant.svg similarity index 100% rename from packages/app/src/assets/file-icons/php_elephant.svg rename to packages/desktop/src/assets/file-icons/php_elephant.svg diff --git a/packages/app/src/assets/file-icons/php_elephant_pink.svg b/packages/desktop/src/assets/file-icons/php_elephant_pink.svg similarity index 100% rename from packages/app/src/assets/file-icons/php_elephant_pink.svg rename to packages/desktop/src/assets/file-icons/php_elephant_pink.svg diff --git a/packages/app/src/assets/file-icons/phpstan.svg b/packages/desktop/src/assets/file-icons/phpstan.svg similarity index 100% rename from packages/app/src/assets/file-icons/phpstan.svg rename to packages/desktop/src/assets/file-icons/phpstan.svg diff --git a/packages/app/src/assets/file-icons/phpunit.svg b/packages/desktop/src/assets/file-icons/phpunit.svg similarity index 100% rename from packages/app/src/assets/file-icons/phpunit.svg rename to packages/desktop/src/assets/file-icons/phpunit.svg diff --git a/packages/app/src/assets/file-icons/pinejs.svg b/packages/desktop/src/assets/file-icons/pinejs.svg similarity index 100% rename from packages/app/src/assets/file-icons/pinejs.svg rename to packages/desktop/src/assets/file-icons/pinejs.svg diff --git a/packages/app/src/assets/file-icons/pipeline.svg b/packages/desktop/src/assets/file-icons/pipeline.svg similarity index 100% rename from packages/app/src/assets/file-icons/pipeline.svg rename to packages/desktop/src/assets/file-icons/pipeline.svg diff --git a/packages/app/src/assets/file-icons/pkl.svg b/packages/desktop/src/assets/file-icons/pkl.svg similarity index 100% rename from packages/app/src/assets/file-icons/pkl.svg rename to packages/desktop/src/assets/file-icons/pkl.svg diff --git a/packages/app/src/assets/file-icons/plastic.svg b/packages/desktop/src/assets/file-icons/plastic.svg similarity index 100% rename from packages/app/src/assets/file-icons/plastic.svg rename to packages/desktop/src/assets/file-icons/plastic.svg diff --git a/packages/app/src/assets/file-icons/playwright.svg b/packages/desktop/src/assets/file-icons/playwright.svg similarity index 100% rename from packages/app/src/assets/file-icons/playwright.svg rename to packages/desktop/src/assets/file-icons/playwright.svg diff --git a/packages/app/src/assets/file-icons/plop.svg b/packages/desktop/src/assets/file-icons/plop.svg similarity index 100% rename from packages/app/src/assets/file-icons/plop.svg rename to packages/desktop/src/assets/file-icons/plop.svg diff --git a/packages/app/src/assets/file-icons/pm2-ecosystem.svg b/packages/desktop/src/assets/file-icons/pm2-ecosystem.svg similarity index 100% rename from packages/app/src/assets/file-icons/pm2-ecosystem.svg rename to packages/desktop/src/assets/file-icons/pm2-ecosystem.svg diff --git a/packages/app/src/assets/file-icons/pnpm.svg b/packages/desktop/src/assets/file-icons/pnpm.svg similarity index 100% rename from packages/app/src/assets/file-icons/pnpm.svg rename to packages/desktop/src/assets/file-icons/pnpm.svg diff --git a/packages/app/src/assets/file-icons/pnpm_light.svg b/packages/desktop/src/assets/file-icons/pnpm_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/pnpm_light.svg rename to packages/desktop/src/assets/file-icons/pnpm_light.svg diff --git a/packages/app/src/assets/file-icons/poetry.svg b/packages/desktop/src/assets/file-icons/poetry.svg similarity index 100% rename from packages/app/src/assets/file-icons/poetry.svg rename to packages/desktop/src/assets/file-icons/poetry.svg diff --git a/packages/app/src/assets/file-icons/postcss.svg b/packages/desktop/src/assets/file-icons/postcss.svg similarity index 100% rename from packages/app/src/assets/file-icons/postcss.svg rename to packages/desktop/src/assets/file-icons/postcss.svg diff --git a/packages/app/src/assets/file-icons/posthtml.svg b/packages/desktop/src/assets/file-icons/posthtml.svg similarity index 100% rename from packages/app/src/assets/file-icons/posthtml.svg rename to packages/desktop/src/assets/file-icons/posthtml.svg diff --git a/packages/app/src/assets/file-icons/powerpoint.svg b/packages/desktop/src/assets/file-icons/powerpoint.svg similarity index 100% rename from packages/app/src/assets/file-icons/powerpoint.svg rename to packages/desktop/src/assets/file-icons/powerpoint.svg diff --git a/packages/app/src/assets/file-icons/powershell.svg b/packages/desktop/src/assets/file-icons/powershell.svg similarity index 100% rename from packages/app/src/assets/file-icons/powershell.svg rename to packages/desktop/src/assets/file-icons/powershell.svg diff --git a/packages/app/src/assets/file-icons/pre-commit.svg b/packages/desktop/src/assets/file-icons/pre-commit.svg similarity index 100% rename from packages/app/src/assets/file-icons/pre-commit.svg rename to packages/desktop/src/assets/file-icons/pre-commit.svg diff --git a/packages/app/src/assets/file-icons/prettier.svg b/packages/desktop/src/assets/file-icons/prettier.svg similarity index 100% rename from packages/app/src/assets/file-icons/prettier.svg rename to packages/desktop/src/assets/file-icons/prettier.svg diff --git a/packages/app/src/assets/file-icons/prisma.svg b/packages/desktop/src/assets/file-icons/prisma.svg similarity index 100% rename from packages/app/src/assets/file-icons/prisma.svg rename to packages/desktop/src/assets/file-icons/prisma.svg diff --git a/packages/app/src/assets/file-icons/processing.svg b/packages/desktop/src/assets/file-icons/processing.svg similarity index 100% rename from packages/app/src/assets/file-icons/processing.svg rename to packages/desktop/src/assets/file-icons/processing.svg diff --git a/packages/app/src/assets/file-icons/prolog.svg b/packages/desktop/src/assets/file-icons/prolog.svg similarity index 100% rename from packages/app/src/assets/file-icons/prolog.svg rename to packages/desktop/src/assets/file-icons/prolog.svg diff --git a/packages/app/src/assets/file-icons/prompt.svg b/packages/desktop/src/assets/file-icons/prompt.svg similarity index 100% rename from packages/app/src/assets/file-icons/prompt.svg rename to packages/desktop/src/assets/file-icons/prompt.svg diff --git a/packages/app/src/assets/file-icons/proto.svg b/packages/desktop/src/assets/file-icons/proto.svg similarity index 100% rename from packages/app/src/assets/file-icons/proto.svg rename to packages/desktop/src/assets/file-icons/proto.svg diff --git a/packages/app/src/assets/file-icons/protractor.svg b/packages/desktop/src/assets/file-icons/protractor.svg similarity index 100% rename from packages/app/src/assets/file-icons/protractor.svg rename to packages/desktop/src/assets/file-icons/protractor.svg diff --git a/packages/app/src/assets/file-icons/pug.svg b/packages/desktop/src/assets/file-icons/pug.svg similarity index 100% rename from packages/app/src/assets/file-icons/pug.svg rename to packages/desktop/src/assets/file-icons/pug.svg diff --git a/packages/app/src/assets/file-icons/puppet.svg b/packages/desktop/src/assets/file-icons/puppet.svg similarity index 100% rename from packages/app/src/assets/file-icons/puppet.svg rename to packages/desktop/src/assets/file-icons/puppet.svg diff --git a/packages/app/src/assets/file-icons/puppeteer.svg b/packages/desktop/src/assets/file-icons/puppeteer.svg similarity index 100% rename from packages/app/src/assets/file-icons/puppeteer.svg rename to packages/desktop/src/assets/file-icons/puppeteer.svg diff --git a/packages/app/src/assets/file-icons/purescript.svg b/packages/desktop/src/assets/file-icons/purescript.svg similarity index 100% rename from packages/app/src/assets/file-icons/purescript.svg rename to packages/desktop/src/assets/file-icons/purescript.svg diff --git a/packages/app/src/assets/file-icons/python-misc.svg b/packages/desktop/src/assets/file-icons/python-misc.svg similarity index 100% rename from packages/app/src/assets/file-icons/python-misc.svg rename to packages/desktop/src/assets/file-icons/python-misc.svg diff --git a/packages/app/src/assets/file-icons/python.svg b/packages/desktop/src/assets/file-icons/python.svg similarity index 100% rename from packages/app/src/assets/file-icons/python.svg rename to packages/desktop/src/assets/file-icons/python.svg diff --git a/packages/app/src/assets/file-icons/pytorch.svg b/packages/desktop/src/assets/file-icons/pytorch.svg similarity index 100% rename from packages/app/src/assets/file-icons/pytorch.svg rename to packages/desktop/src/assets/file-icons/pytorch.svg diff --git a/packages/app/src/assets/file-icons/qsharp.svg b/packages/desktop/src/assets/file-icons/qsharp.svg similarity index 100% rename from packages/app/src/assets/file-icons/qsharp.svg rename to packages/desktop/src/assets/file-icons/qsharp.svg diff --git a/packages/app/src/assets/file-icons/quarto.svg b/packages/desktop/src/assets/file-icons/quarto.svg similarity index 100% rename from packages/app/src/assets/file-icons/quarto.svg rename to packages/desktop/src/assets/file-icons/quarto.svg diff --git a/packages/app/src/assets/file-icons/quasar.svg b/packages/desktop/src/assets/file-icons/quasar.svg similarity index 100% rename from packages/app/src/assets/file-icons/quasar.svg rename to packages/desktop/src/assets/file-icons/quasar.svg diff --git a/packages/app/src/assets/file-icons/quokka.svg b/packages/desktop/src/assets/file-icons/quokka.svg similarity index 100% rename from packages/app/src/assets/file-icons/quokka.svg rename to packages/desktop/src/assets/file-icons/quokka.svg diff --git a/packages/app/src/assets/file-icons/qwik.svg b/packages/desktop/src/assets/file-icons/qwik.svg similarity index 100% rename from packages/app/src/assets/file-icons/qwik.svg rename to packages/desktop/src/assets/file-icons/qwik.svg diff --git a/packages/app/src/assets/file-icons/r.svg b/packages/desktop/src/assets/file-icons/r.svg similarity index 100% rename from packages/app/src/assets/file-icons/r.svg rename to packages/desktop/src/assets/file-icons/r.svg diff --git a/packages/app/src/assets/file-icons/racket.svg b/packages/desktop/src/assets/file-icons/racket.svg similarity index 100% rename from packages/app/src/assets/file-icons/racket.svg rename to packages/desktop/src/assets/file-icons/racket.svg diff --git a/packages/app/src/assets/file-icons/raml.svg b/packages/desktop/src/assets/file-icons/raml.svg similarity index 100% rename from packages/app/src/assets/file-icons/raml.svg rename to packages/desktop/src/assets/file-icons/raml.svg diff --git a/packages/app/src/assets/file-icons/razor.svg b/packages/desktop/src/assets/file-icons/razor.svg similarity index 100% rename from packages/app/src/assets/file-icons/razor.svg rename to packages/desktop/src/assets/file-icons/razor.svg diff --git a/packages/app/src/assets/file-icons/rbxmk.svg b/packages/desktop/src/assets/file-icons/rbxmk.svg similarity index 100% rename from packages/app/src/assets/file-icons/rbxmk.svg rename to packages/desktop/src/assets/file-icons/rbxmk.svg diff --git a/packages/app/src/assets/file-icons/rc.svg b/packages/desktop/src/assets/file-icons/rc.svg similarity index 100% rename from packages/app/src/assets/file-icons/rc.svg rename to packages/desktop/src/assets/file-icons/rc.svg diff --git a/packages/app/src/assets/file-icons/react.svg b/packages/desktop/src/assets/file-icons/react.svg similarity index 100% rename from packages/app/src/assets/file-icons/react.svg rename to packages/desktop/src/assets/file-icons/react.svg diff --git a/packages/app/src/assets/file-icons/react_ts.svg b/packages/desktop/src/assets/file-icons/react_ts.svg similarity index 100% rename from packages/app/src/assets/file-icons/react_ts.svg rename to packages/desktop/src/assets/file-icons/react_ts.svg diff --git a/packages/app/src/assets/file-icons/readme.svg b/packages/desktop/src/assets/file-icons/readme.svg similarity index 100% rename from packages/app/src/assets/file-icons/readme.svg rename to packages/desktop/src/assets/file-icons/readme.svg diff --git a/packages/app/src/assets/file-icons/reason.svg b/packages/desktop/src/assets/file-icons/reason.svg similarity index 100% rename from packages/app/src/assets/file-icons/reason.svg rename to packages/desktop/src/assets/file-icons/reason.svg diff --git a/packages/app/src/assets/file-icons/red.svg b/packages/desktop/src/assets/file-icons/red.svg similarity index 100% rename from packages/app/src/assets/file-icons/red.svg rename to packages/desktop/src/assets/file-icons/red.svg diff --git a/packages/app/src/assets/file-icons/redux-action.svg b/packages/desktop/src/assets/file-icons/redux-action.svg similarity index 100% rename from packages/app/src/assets/file-icons/redux-action.svg rename to packages/desktop/src/assets/file-icons/redux-action.svg diff --git a/packages/app/src/assets/file-icons/redux-reducer.svg b/packages/desktop/src/assets/file-icons/redux-reducer.svg similarity index 100% rename from packages/app/src/assets/file-icons/redux-reducer.svg rename to packages/desktop/src/assets/file-icons/redux-reducer.svg diff --git a/packages/app/src/assets/file-icons/redux-selector.svg b/packages/desktop/src/assets/file-icons/redux-selector.svg similarity index 100% rename from packages/app/src/assets/file-icons/redux-selector.svg rename to packages/desktop/src/assets/file-icons/redux-selector.svg diff --git a/packages/app/src/assets/file-icons/redux-store.svg b/packages/desktop/src/assets/file-icons/redux-store.svg similarity index 100% rename from packages/app/src/assets/file-icons/redux-store.svg rename to packages/desktop/src/assets/file-icons/redux-store.svg diff --git a/packages/app/src/assets/file-icons/regedit.svg b/packages/desktop/src/assets/file-icons/regedit.svg similarity index 100% rename from packages/app/src/assets/file-icons/regedit.svg rename to packages/desktop/src/assets/file-icons/regedit.svg diff --git a/packages/app/src/assets/file-icons/remark.svg b/packages/desktop/src/assets/file-icons/remark.svg similarity index 100% rename from packages/app/src/assets/file-icons/remark.svg rename to packages/desktop/src/assets/file-icons/remark.svg diff --git a/packages/app/src/assets/file-icons/remix.svg b/packages/desktop/src/assets/file-icons/remix.svg similarity index 100% rename from packages/app/src/assets/file-icons/remix.svg rename to packages/desktop/src/assets/file-icons/remix.svg diff --git a/packages/app/src/assets/file-icons/remix_light.svg b/packages/desktop/src/assets/file-icons/remix_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/remix_light.svg rename to packages/desktop/src/assets/file-icons/remix_light.svg diff --git a/packages/app/src/assets/file-icons/renovate.svg b/packages/desktop/src/assets/file-icons/renovate.svg similarity index 100% rename from packages/app/src/assets/file-icons/renovate.svg rename to packages/desktop/src/assets/file-icons/renovate.svg diff --git a/packages/app/src/assets/file-icons/replit.svg b/packages/desktop/src/assets/file-icons/replit.svg similarity index 100% rename from packages/app/src/assets/file-icons/replit.svg rename to packages/desktop/src/assets/file-icons/replit.svg diff --git a/packages/app/src/assets/file-icons/rescript-interface.svg b/packages/desktop/src/assets/file-icons/rescript-interface.svg similarity index 100% rename from packages/app/src/assets/file-icons/rescript-interface.svg rename to packages/desktop/src/assets/file-icons/rescript-interface.svg diff --git a/packages/app/src/assets/file-icons/rescript.svg b/packages/desktop/src/assets/file-icons/rescript.svg similarity index 100% rename from packages/app/src/assets/file-icons/rescript.svg rename to packages/desktop/src/assets/file-icons/rescript.svg diff --git a/packages/app/src/assets/file-icons/restql.svg b/packages/desktop/src/assets/file-icons/restql.svg similarity index 100% rename from packages/app/src/assets/file-icons/restql.svg rename to packages/desktop/src/assets/file-icons/restql.svg diff --git a/packages/app/src/assets/file-icons/riot.svg b/packages/desktop/src/assets/file-icons/riot.svg similarity index 100% rename from packages/app/src/assets/file-icons/riot.svg rename to packages/desktop/src/assets/file-icons/riot.svg diff --git a/packages/app/src/assets/file-icons/roadmap.svg b/packages/desktop/src/assets/file-icons/roadmap.svg similarity index 100% rename from packages/app/src/assets/file-icons/roadmap.svg rename to packages/desktop/src/assets/file-icons/roadmap.svg diff --git a/packages/app/src/assets/file-icons/roblox.svg b/packages/desktop/src/assets/file-icons/roblox.svg similarity index 100% rename from packages/app/src/assets/file-icons/roblox.svg rename to packages/desktop/src/assets/file-icons/roblox.svg diff --git a/packages/app/src/assets/file-icons/robot.svg b/packages/desktop/src/assets/file-icons/robot.svg similarity index 100% rename from packages/app/src/assets/file-icons/robot.svg rename to packages/desktop/src/assets/file-icons/robot.svg diff --git a/packages/app/src/assets/file-icons/robots.svg b/packages/desktop/src/assets/file-icons/robots.svg similarity index 100% rename from packages/app/src/assets/file-icons/robots.svg rename to packages/desktop/src/assets/file-icons/robots.svg diff --git a/packages/app/src/assets/file-icons/rocket.svg b/packages/desktop/src/assets/file-icons/rocket.svg similarity index 100% rename from packages/app/src/assets/file-icons/rocket.svg rename to packages/desktop/src/assets/file-icons/rocket.svg diff --git a/packages/app/src/assets/file-icons/rojo.svg b/packages/desktop/src/assets/file-icons/rojo.svg similarity index 100% rename from packages/app/src/assets/file-icons/rojo.svg rename to packages/desktop/src/assets/file-icons/rojo.svg diff --git a/packages/app/src/assets/file-icons/rollup.svg b/packages/desktop/src/assets/file-icons/rollup.svg similarity index 100% rename from packages/app/src/assets/file-icons/rollup.svg rename to packages/desktop/src/assets/file-icons/rollup.svg diff --git a/packages/app/src/assets/file-icons/rome.svg b/packages/desktop/src/assets/file-icons/rome.svg similarity index 100% rename from packages/app/src/assets/file-icons/rome.svg rename to packages/desktop/src/assets/file-icons/rome.svg diff --git a/packages/app/src/assets/file-icons/routing.svg b/packages/desktop/src/assets/file-icons/routing.svg similarity index 100% rename from packages/app/src/assets/file-icons/routing.svg rename to packages/desktop/src/assets/file-icons/routing.svg diff --git a/packages/app/src/assets/file-icons/rspec.svg b/packages/desktop/src/assets/file-icons/rspec.svg similarity index 100% rename from packages/app/src/assets/file-icons/rspec.svg rename to packages/desktop/src/assets/file-icons/rspec.svg diff --git a/packages/app/src/assets/file-icons/rubocop.svg b/packages/desktop/src/assets/file-icons/rubocop.svg similarity index 100% rename from packages/app/src/assets/file-icons/rubocop.svg rename to packages/desktop/src/assets/file-icons/rubocop.svg diff --git a/packages/app/src/assets/file-icons/rubocop_light.svg b/packages/desktop/src/assets/file-icons/rubocop_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/rubocop_light.svg rename to packages/desktop/src/assets/file-icons/rubocop_light.svg diff --git a/packages/app/src/assets/file-icons/ruby.svg b/packages/desktop/src/assets/file-icons/ruby.svg similarity index 100% rename from packages/app/src/assets/file-icons/ruby.svg rename to packages/desktop/src/assets/file-icons/ruby.svg diff --git a/packages/app/src/assets/file-icons/ruff.svg b/packages/desktop/src/assets/file-icons/ruff.svg similarity index 100% rename from packages/app/src/assets/file-icons/ruff.svg rename to packages/desktop/src/assets/file-icons/ruff.svg diff --git a/packages/app/src/assets/file-icons/rust.svg b/packages/desktop/src/assets/file-icons/rust.svg similarity index 100% rename from packages/app/src/assets/file-icons/rust.svg rename to packages/desktop/src/assets/file-icons/rust.svg diff --git a/packages/app/src/assets/file-icons/salesforce.svg b/packages/desktop/src/assets/file-icons/salesforce.svg similarity index 100% rename from packages/app/src/assets/file-icons/salesforce.svg rename to packages/desktop/src/assets/file-icons/salesforce.svg diff --git a/packages/app/src/assets/file-icons/san.svg b/packages/desktop/src/assets/file-icons/san.svg similarity index 100% rename from packages/app/src/assets/file-icons/san.svg rename to packages/desktop/src/assets/file-icons/san.svg diff --git a/packages/app/src/assets/file-icons/sas.svg b/packages/desktop/src/assets/file-icons/sas.svg similarity index 100% rename from packages/app/src/assets/file-icons/sas.svg rename to packages/desktop/src/assets/file-icons/sas.svg diff --git a/packages/app/src/assets/file-icons/sass.svg b/packages/desktop/src/assets/file-icons/sass.svg similarity index 100% rename from packages/app/src/assets/file-icons/sass.svg rename to packages/desktop/src/assets/file-icons/sass.svg diff --git a/packages/app/src/assets/file-icons/sbt.svg b/packages/desktop/src/assets/file-icons/sbt.svg similarity index 100% rename from packages/app/src/assets/file-icons/sbt.svg rename to packages/desktop/src/assets/file-icons/sbt.svg diff --git a/packages/app/src/assets/file-icons/scala.svg b/packages/desktop/src/assets/file-icons/scala.svg similarity index 100% rename from packages/app/src/assets/file-icons/scala.svg rename to packages/desktop/src/assets/file-icons/scala.svg diff --git a/packages/app/src/assets/file-icons/scheme.svg b/packages/desktop/src/assets/file-icons/scheme.svg similarity index 100% rename from packages/app/src/assets/file-icons/scheme.svg rename to packages/desktop/src/assets/file-icons/scheme.svg diff --git a/packages/app/src/assets/file-icons/scons.svg b/packages/desktop/src/assets/file-icons/scons.svg similarity index 100% rename from packages/app/src/assets/file-icons/scons.svg rename to packages/desktop/src/assets/file-icons/scons.svg diff --git a/packages/app/src/assets/file-icons/scons_light.svg b/packages/desktop/src/assets/file-icons/scons_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/scons_light.svg rename to packages/desktop/src/assets/file-icons/scons_light.svg diff --git a/packages/app/src/assets/file-icons/screwdriver.svg b/packages/desktop/src/assets/file-icons/screwdriver.svg similarity index 100% rename from packages/app/src/assets/file-icons/screwdriver.svg rename to packages/desktop/src/assets/file-icons/screwdriver.svg diff --git a/packages/app/src/assets/file-icons/search.svg b/packages/desktop/src/assets/file-icons/search.svg similarity index 100% rename from packages/app/src/assets/file-icons/search.svg rename to packages/desktop/src/assets/file-icons/search.svg diff --git a/packages/app/src/assets/file-icons/semantic-release.svg b/packages/desktop/src/assets/file-icons/semantic-release.svg similarity index 100% rename from packages/app/src/assets/file-icons/semantic-release.svg rename to packages/desktop/src/assets/file-icons/semantic-release.svg diff --git a/packages/app/src/assets/file-icons/semantic-release_light.svg b/packages/desktop/src/assets/file-icons/semantic-release_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/semantic-release_light.svg rename to packages/desktop/src/assets/file-icons/semantic-release_light.svg diff --git a/packages/app/src/assets/file-icons/semgrep.svg b/packages/desktop/src/assets/file-icons/semgrep.svg similarity index 100% rename from packages/app/src/assets/file-icons/semgrep.svg rename to packages/desktop/src/assets/file-icons/semgrep.svg diff --git a/packages/app/src/assets/file-icons/sentry.svg b/packages/desktop/src/assets/file-icons/sentry.svg similarity index 100% rename from packages/app/src/assets/file-icons/sentry.svg rename to packages/desktop/src/assets/file-icons/sentry.svg diff --git a/packages/app/src/assets/file-icons/sequelize.svg b/packages/desktop/src/assets/file-icons/sequelize.svg similarity index 100% rename from packages/app/src/assets/file-icons/sequelize.svg rename to packages/desktop/src/assets/file-icons/sequelize.svg diff --git a/packages/app/src/assets/file-icons/serverless.svg b/packages/desktop/src/assets/file-icons/serverless.svg similarity index 100% rename from packages/app/src/assets/file-icons/serverless.svg rename to packages/desktop/src/assets/file-icons/serverless.svg diff --git a/packages/app/src/assets/file-icons/settings.svg b/packages/desktop/src/assets/file-icons/settings.svg similarity index 100% rename from packages/app/src/assets/file-icons/settings.svg rename to packages/desktop/src/assets/file-icons/settings.svg diff --git a/packages/app/src/assets/file-icons/shader.svg b/packages/desktop/src/assets/file-icons/shader.svg similarity index 100% rename from packages/app/src/assets/file-icons/shader.svg rename to packages/desktop/src/assets/file-icons/shader.svg diff --git a/packages/app/src/assets/file-icons/silverstripe.svg b/packages/desktop/src/assets/file-icons/silverstripe.svg similarity index 100% rename from packages/app/src/assets/file-icons/silverstripe.svg rename to packages/desktop/src/assets/file-icons/silverstripe.svg diff --git a/packages/app/src/assets/file-icons/simulink.svg b/packages/desktop/src/assets/file-icons/simulink.svg similarity index 100% rename from packages/app/src/assets/file-icons/simulink.svg rename to packages/desktop/src/assets/file-icons/simulink.svg diff --git a/packages/app/src/assets/file-icons/siyuan.svg b/packages/desktop/src/assets/file-icons/siyuan.svg similarity index 100% rename from packages/app/src/assets/file-icons/siyuan.svg rename to packages/desktop/src/assets/file-icons/siyuan.svg diff --git a/packages/app/src/assets/file-icons/sketch.svg b/packages/desktop/src/assets/file-icons/sketch.svg similarity index 100% rename from packages/app/src/assets/file-icons/sketch.svg rename to packages/desktop/src/assets/file-icons/sketch.svg diff --git a/packages/app/src/assets/file-icons/slim.svg b/packages/desktop/src/assets/file-icons/slim.svg similarity index 100% rename from packages/app/src/assets/file-icons/slim.svg rename to packages/desktop/src/assets/file-icons/slim.svg diff --git a/packages/app/src/assets/file-icons/slint.svg b/packages/desktop/src/assets/file-icons/slint.svg similarity index 100% rename from packages/app/src/assets/file-icons/slint.svg rename to packages/desktop/src/assets/file-icons/slint.svg diff --git a/packages/app/src/assets/file-icons/slug.svg b/packages/desktop/src/assets/file-icons/slug.svg similarity index 100% rename from packages/app/src/assets/file-icons/slug.svg rename to packages/desktop/src/assets/file-icons/slug.svg diff --git a/packages/app/src/assets/file-icons/smarty.svg b/packages/desktop/src/assets/file-icons/smarty.svg similarity index 100% rename from packages/app/src/assets/file-icons/smarty.svg rename to packages/desktop/src/assets/file-icons/smarty.svg diff --git a/packages/app/src/assets/file-icons/sml.svg b/packages/desktop/src/assets/file-icons/sml.svg similarity index 100% rename from packages/app/src/assets/file-icons/sml.svg rename to packages/desktop/src/assets/file-icons/sml.svg diff --git a/packages/app/src/assets/file-icons/snakemake.svg b/packages/desktop/src/assets/file-icons/snakemake.svg similarity index 100% rename from packages/app/src/assets/file-icons/snakemake.svg rename to packages/desktop/src/assets/file-icons/snakemake.svg diff --git a/packages/app/src/assets/file-icons/snapcraft.svg b/packages/desktop/src/assets/file-icons/snapcraft.svg similarity index 100% rename from packages/app/src/assets/file-icons/snapcraft.svg rename to packages/desktop/src/assets/file-icons/snapcraft.svg diff --git a/packages/app/src/assets/file-icons/snowpack.svg b/packages/desktop/src/assets/file-icons/snowpack.svg similarity index 100% rename from packages/app/src/assets/file-icons/snowpack.svg rename to packages/desktop/src/assets/file-icons/snowpack.svg diff --git a/packages/app/src/assets/file-icons/snowpack_light.svg b/packages/desktop/src/assets/file-icons/snowpack_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/snowpack_light.svg rename to packages/desktop/src/assets/file-icons/snowpack_light.svg diff --git a/packages/app/src/assets/file-icons/snyk.svg b/packages/desktop/src/assets/file-icons/snyk.svg similarity index 100% rename from packages/app/src/assets/file-icons/snyk.svg rename to packages/desktop/src/assets/file-icons/snyk.svg diff --git a/packages/app/src/assets/file-icons/solidity.svg b/packages/desktop/src/assets/file-icons/solidity.svg similarity index 100% rename from packages/app/src/assets/file-icons/solidity.svg rename to packages/desktop/src/assets/file-icons/solidity.svg diff --git a/packages/app/src/assets/file-icons/sonarcloud.svg b/packages/desktop/src/assets/file-icons/sonarcloud.svg similarity index 100% rename from packages/app/src/assets/file-icons/sonarcloud.svg rename to packages/desktop/src/assets/file-icons/sonarcloud.svg diff --git a/packages/app/src/assets/file-icons/spwn.svg b/packages/desktop/src/assets/file-icons/spwn.svg similarity index 100% rename from packages/app/src/assets/file-icons/spwn.svg rename to packages/desktop/src/assets/file-icons/spwn.svg diff --git a/packages/app/src/assets/file-icons/stackblitz.svg b/packages/desktop/src/assets/file-icons/stackblitz.svg similarity index 100% rename from packages/app/src/assets/file-icons/stackblitz.svg rename to packages/desktop/src/assets/file-icons/stackblitz.svg diff --git a/packages/app/src/assets/file-icons/stan.svg b/packages/desktop/src/assets/file-icons/stan.svg similarity index 100% rename from packages/app/src/assets/file-icons/stan.svg rename to packages/desktop/src/assets/file-icons/stan.svg diff --git a/packages/app/src/assets/file-icons/steadybit.svg b/packages/desktop/src/assets/file-icons/steadybit.svg similarity index 100% rename from packages/app/src/assets/file-icons/steadybit.svg rename to packages/desktop/src/assets/file-icons/steadybit.svg diff --git a/packages/app/src/assets/file-icons/stencil.svg b/packages/desktop/src/assets/file-icons/stencil.svg similarity index 100% rename from packages/app/src/assets/file-icons/stencil.svg rename to packages/desktop/src/assets/file-icons/stencil.svg diff --git a/packages/app/src/assets/file-icons/stitches.svg b/packages/desktop/src/assets/file-icons/stitches.svg similarity index 100% rename from packages/app/src/assets/file-icons/stitches.svg rename to packages/desktop/src/assets/file-icons/stitches.svg diff --git a/packages/app/src/assets/file-icons/stitches_light.svg b/packages/desktop/src/assets/file-icons/stitches_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/stitches_light.svg rename to packages/desktop/src/assets/file-icons/stitches_light.svg diff --git a/packages/app/src/assets/file-icons/storybook.svg b/packages/desktop/src/assets/file-icons/storybook.svg similarity index 100% rename from packages/app/src/assets/file-icons/storybook.svg rename to packages/desktop/src/assets/file-icons/storybook.svg diff --git a/packages/app/src/assets/file-icons/stryker.svg b/packages/desktop/src/assets/file-icons/stryker.svg similarity index 100% rename from packages/app/src/assets/file-icons/stryker.svg rename to packages/desktop/src/assets/file-icons/stryker.svg diff --git a/packages/app/src/assets/file-icons/stylable.svg b/packages/desktop/src/assets/file-icons/stylable.svg similarity index 100% rename from packages/app/src/assets/file-icons/stylable.svg rename to packages/desktop/src/assets/file-icons/stylable.svg diff --git a/packages/app/src/assets/file-icons/stylelint.svg b/packages/desktop/src/assets/file-icons/stylelint.svg similarity index 100% rename from packages/app/src/assets/file-icons/stylelint.svg rename to packages/desktop/src/assets/file-icons/stylelint.svg diff --git a/packages/app/src/assets/file-icons/stylelint_light.svg b/packages/desktop/src/assets/file-icons/stylelint_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/stylelint_light.svg rename to packages/desktop/src/assets/file-icons/stylelint_light.svg diff --git a/packages/app/src/assets/file-icons/stylus.svg b/packages/desktop/src/assets/file-icons/stylus.svg similarity index 100% rename from packages/app/src/assets/file-icons/stylus.svg rename to packages/desktop/src/assets/file-icons/stylus.svg diff --git a/packages/app/src/assets/file-icons/sublime.svg b/packages/desktop/src/assets/file-icons/sublime.svg similarity index 100% rename from packages/app/src/assets/file-icons/sublime.svg rename to packages/desktop/src/assets/file-icons/sublime.svg diff --git a/packages/app/src/assets/file-icons/subtitles.svg b/packages/desktop/src/assets/file-icons/subtitles.svg similarity index 100% rename from packages/app/src/assets/file-icons/subtitles.svg rename to packages/desktop/src/assets/file-icons/subtitles.svg diff --git a/packages/app/src/assets/file-icons/supabase.svg b/packages/desktop/src/assets/file-icons/supabase.svg similarity index 100% rename from packages/app/src/assets/file-icons/supabase.svg rename to packages/desktop/src/assets/file-icons/supabase.svg diff --git a/packages/app/src/assets/file-icons/svelte.svg b/packages/desktop/src/assets/file-icons/svelte.svg similarity index 100% rename from packages/app/src/assets/file-icons/svelte.svg rename to packages/desktop/src/assets/file-icons/svelte.svg diff --git a/packages/app/src/assets/file-icons/svg.svg b/packages/desktop/src/assets/file-icons/svg.svg similarity index 100% rename from packages/app/src/assets/file-icons/svg.svg rename to packages/desktop/src/assets/file-icons/svg.svg diff --git a/packages/app/src/assets/file-icons/svgo.svg b/packages/desktop/src/assets/file-icons/svgo.svg similarity index 100% rename from packages/app/src/assets/file-icons/svgo.svg rename to packages/desktop/src/assets/file-icons/svgo.svg diff --git a/packages/app/src/assets/file-icons/svgr.svg b/packages/desktop/src/assets/file-icons/svgr.svg similarity index 100% rename from packages/app/src/assets/file-icons/svgr.svg rename to packages/desktop/src/assets/file-icons/svgr.svg diff --git a/packages/app/src/assets/file-icons/swagger.svg b/packages/desktop/src/assets/file-icons/swagger.svg similarity index 100% rename from packages/app/src/assets/file-icons/swagger.svg rename to packages/desktop/src/assets/file-icons/swagger.svg diff --git a/packages/app/src/assets/file-icons/sway.svg b/packages/desktop/src/assets/file-icons/sway.svg similarity index 100% rename from packages/app/src/assets/file-icons/sway.svg rename to packages/desktop/src/assets/file-icons/sway.svg diff --git a/packages/app/src/assets/file-icons/swc.svg b/packages/desktop/src/assets/file-icons/swc.svg similarity index 100% rename from packages/app/src/assets/file-icons/swc.svg rename to packages/desktop/src/assets/file-icons/swc.svg diff --git a/packages/app/src/assets/file-icons/swift.svg b/packages/desktop/src/assets/file-icons/swift.svg similarity index 100% rename from packages/app/src/assets/file-icons/swift.svg rename to packages/desktop/src/assets/file-icons/swift.svg diff --git a/packages/app/src/assets/file-icons/syncpack.svg b/packages/desktop/src/assets/file-icons/syncpack.svg similarity index 100% rename from packages/app/src/assets/file-icons/syncpack.svg rename to packages/desktop/src/assets/file-icons/syncpack.svg diff --git a/packages/app/src/assets/file-icons/systemd.svg b/packages/desktop/src/assets/file-icons/systemd.svg similarity index 100% rename from packages/app/src/assets/file-icons/systemd.svg rename to packages/desktop/src/assets/file-icons/systemd.svg diff --git a/packages/app/src/assets/file-icons/systemd_light.svg b/packages/desktop/src/assets/file-icons/systemd_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/systemd_light.svg rename to packages/desktop/src/assets/file-icons/systemd_light.svg diff --git a/packages/app/src/assets/file-icons/table.svg b/packages/desktop/src/assets/file-icons/table.svg similarity index 100% rename from packages/app/src/assets/file-icons/table.svg rename to packages/desktop/src/assets/file-icons/table.svg diff --git a/packages/app/src/assets/file-icons/tailwindcss.svg b/packages/desktop/src/assets/file-icons/tailwindcss.svg similarity index 100% rename from packages/app/src/assets/file-icons/tailwindcss.svg rename to packages/desktop/src/assets/file-icons/tailwindcss.svg diff --git a/packages/app/src/assets/file-icons/taskfile.svg b/packages/desktop/src/assets/file-icons/taskfile.svg similarity index 100% rename from packages/app/src/assets/file-icons/taskfile.svg rename to packages/desktop/src/assets/file-icons/taskfile.svg diff --git a/packages/app/src/assets/file-icons/tauri.svg b/packages/desktop/src/assets/file-icons/tauri.svg similarity index 100% rename from packages/app/src/assets/file-icons/tauri.svg rename to packages/desktop/src/assets/file-icons/tauri.svg diff --git a/packages/app/src/assets/file-icons/taze.svg b/packages/desktop/src/assets/file-icons/taze.svg similarity index 100% rename from packages/app/src/assets/file-icons/taze.svg rename to packages/desktop/src/assets/file-icons/taze.svg diff --git a/packages/app/src/assets/file-icons/tcl.svg b/packages/desktop/src/assets/file-icons/tcl.svg similarity index 100% rename from packages/app/src/assets/file-icons/tcl.svg rename to packages/desktop/src/assets/file-icons/tcl.svg diff --git a/packages/app/src/assets/file-icons/teal.svg b/packages/desktop/src/assets/file-icons/teal.svg similarity index 100% rename from packages/app/src/assets/file-icons/teal.svg rename to packages/desktop/src/assets/file-icons/teal.svg diff --git a/packages/app/src/assets/file-icons/templ.svg b/packages/desktop/src/assets/file-icons/templ.svg similarity index 100% rename from packages/app/src/assets/file-icons/templ.svg rename to packages/desktop/src/assets/file-icons/templ.svg diff --git a/packages/app/src/assets/file-icons/template.svg b/packages/desktop/src/assets/file-icons/template.svg similarity index 100% rename from packages/app/src/assets/file-icons/template.svg rename to packages/desktop/src/assets/file-icons/template.svg diff --git a/packages/app/src/assets/file-icons/terraform.svg b/packages/desktop/src/assets/file-icons/terraform.svg similarity index 100% rename from packages/app/src/assets/file-icons/terraform.svg rename to packages/desktop/src/assets/file-icons/terraform.svg diff --git a/packages/app/src/assets/file-icons/test-js.svg b/packages/desktop/src/assets/file-icons/test-js.svg similarity index 100% rename from packages/app/src/assets/file-icons/test-js.svg rename to packages/desktop/src/assets/file-icons/test-js.svg diff --git a/packages/app/src/assets/file-icons/test-jsx.svg b/packages/desktop/src/assets/file-icons/test-jsx.svg similarity index 100% rename from packages/app/src/assets/file-icons/test-jsx.svg rename to packages/desktop/src/assets/file-icons/test-jsx.svg diff --git a/packages/app/src/assets/file-icons/test-ts.svg b/packages/desktop/src/assets/file-icons/test-ts.svg similarity index 100% rename from packages/app/src/assets/file-icons/test-ts.svg rename to packages/desktop/src/assets/file-icons/test-ts.svg diff --git a/packages/app/src/assets/file-icons/tex.svg b/packages/desktop/src/assets/file-icons/tex.svg similarity index 100% rename from packages/app/src/assets/file-icons/tex.svg rename to packages/desktop/src/assets/file-icons/tex.svg diff --git a/packages/app/src/assets/file-icons/textlint.svg b/packages/desktop/src/assets/file-icons/textlint.svg similarity index 100% rename from packages/app/src/assets/file-icons/textlint.svg rename to packages/desktop/src/assets/file-icons/textlint.svg diff --git a/packages/app/src/assets/file-icons/tilt.svg b/packages/desktop/src/assets/file-icons/tilt.svg similarity index 100% rename from packages/app/src/assets/file-icons/tilt.svg rename to packages/desktop/src/assets/file-icons/tilt.svg diff --git a/packages/app/src/assets/file-icons/tldraw.svg b/packages/desktop/src/assets/file-icons/tldraw.svg similarity index 100% rename from packages/app/src/assets/file-icons/tldraw.svg rename to packages/desktop/src/assets/file-icons/tldraw.svg diff --git a/packages/app/src/assets/file-icons/tldraw_light.svg b/packages/desktop/src/assets/file-icons/tldraw_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/tldraw_light.svg rename to packages/desktop/src/assets/file-icons/tldraw_light.svg diff --git a/packages/app/src/assets/file-icons/tobi.svg b/packages/desktop/src/assets/file-icons/tobi.svg similarity index 100% rename from packages/app/src/assets/file-icons/tobi.svg rename to packages/desktop/src/assets/file-icons/tobi.svg diff --git a/packages/app/src/assets/file-icons/tobimake.svg b/packages/desktop/src/assets/file-icons/tobimake.svg similarity index 100% rename from packages/app/src/assets/file-icons/tobimake.svg rename to packages/desktop/src/assets/file-icons/tobimake.svg diff --git a/packages/app/src/assets/file-icons/todo.svg b/packages/desktop/src/assets/file-icons/todo.svg similarity index 100% rename from packages/app/src/assets/file-icons/todo.svg rename to packages/desktop/src/assets/file-icons/todo.svg diff --git a/packages/app/src/assets/file-icons/toml.svg b/packages/desktop/src/assets/file-icons/toml.svg similarity index 100% rename from packages/app/src/assets/file-icons/toml.svg rename to packages/desktop/src/assets/file-icons/toml.svg diff --git a/packages/app/src/assets/file-icons/toml_light.svg b/packages/desktop/src/assets/file-icons/toml_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/toml_light.svg rename to packages/desktop/src/assets/file-icons/toml_light.svg diff --git a/packages/app/src/assets/file-icons/travis.svg b/packages/desktop/src/assets/file-icons/travis.svg similarity index 100% rename from packages/app/src/assets/file-icons/travis.svg rename to packages/desktop/src/assets/file-icons/travis.svg diff --git a/packages/app/src/assets/file-icons/tree.svg b/packages/desktop/src/assets/file-icons/tree.svg similarity index 100% rename from packages/app/src/assets/file-icons/tree.svg rename to packages/desktop/src/assets/file-icons/tree.svg diff --git a/packages/app/src/assets/file-icons/trigger.svg b/packages/desktop/src/assets/file-icons/trigger.svg similarity index 100% rename from packages/app/src/assets/file-icons/trigger.svg rename to packages/desktop/src/assets/file-icons/trigger.svg diff --git a/packages/app/src/assets/file-icons/tsconfig.svg b/packages/desktop/src/assets/file-icons/tsconfig.svg similarity index 100% rename from packages/app/src/assets/file-icons/tsconfig.svg rename to packages/desktop/src/assets/file-icons/tsconfig.svg diff --git a/packages/app/src/assets/file-icons/tsdoc.svg b/packages/desktop/src/assets/file-icons/tsdoc.svg similarity index 100% rename from packages/app/src/assets/file-icons/tsdoc.svg rename to packages/desktop/src/assets/file-icons/tsdoc.svg diff --git a/packages/app/src/assets/file-icons/tsil.svg b/packages/desktop/src/assets/file-icons/tsil.svg similarity index 100% rename from packages/app/src/assets/file-icons/tsil.svg rename to packages/desktop/src/assets/file-icons/tsil.svg diff --git a/packages/app/src/assets/file-icons/tune.svg b/packages/desktop/src/assets/file-icons/tune.svg similarity index 100% rename from packages/app/src/assets/file-icons/tune.svg rename to packages/desktop/src/assets/file-icons/tune.svg diff --git a/packages/app/src/assets/file-icons/turborepo.svg b/packages/desktop/src/assets/file-icons/turborepo.svg similarity index 100% rename from packages/app/src/assets/file-icons/turborepo.svg rename to packages/desktop/src/assets/file-icons/turborepo.svg diff --git a/packages/app/src/assets/file-icons/turborepo_light.svg b/packages/desktop/src/assets/file-icons/turborepo_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/turborepo_light.svg rename to packages/desktop/src/assets/file-icons/turborepo_light.svg diff --git a/packages/app/src/assets/file-icons/twig.svg b/packages/desktop/src/assets/file-icons/twig.svg similarity index 100% rename from packages/app/src/assets/file-icons/twig.svg rename to packages/desktop/src/assets/file-icons/twig.svg diff --git a/packages/app/src/assets/file-icons/twine.svg b/packages/desktop/src/assets/file-icons/twine.svg similarity index 100% rename from packages/app/src/assets/file-icons/twine.svg rename to packages/desktop/src/assets/file-icons/twine.svg diff --git a/packages/app/src/assets/file-icons/typescript-def.svg b/packages/desktop/src/assets/file-icons/typescript-def.svg similarity index 100% rename from packages/app/src/assets/file-icons/typescript-def.svg rename to packages/desktop/src/assets/file-icons/typescript-def.svg diff --git a/packages/app/src/assets/file-icons/typescript.svg b/packages/desktop/src/assets/file-icons/typescript.svg similarity index 100% rename from packages/app/src/assets/file-icons/typescript.svg rename to packages/desktop/src/assets/file-icons/typescript.svg diff --git a/packages/app/src/assets/file-icons/typst.svg b/packages/desktop/src/assets/file-icons/typst.svg similarity index 100% rename from packages/app/src/assets/file-icons/typst.svg rename to packages/desktop/src/assets/file-icons/typst.svg diff --git a/packages/app/src/assets/file-icons/umi.svg b/packages/desktop/src/assets/file-icons/umi.svg similarity index 100% rename from packages/app/src/assets/file-icons/umi.svg rename to packages/desktop/src/assets/file-icons/umi.svg diff --git a/packages/app/src/assets/file-icons/uml.svg b/packages/desktop/src/assets/file-icons/uml.svg similarity index 100% rename from packages/app/src/assets/file-icons/uml.svg rename to packages/desktop/src/assets/file-icons/uml.svg diff --git a/packages/app/src/assets/file-icons/uml_light.svg b/packages/desktop/src/assets/file-icons/uml_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/uml_light.svg rename to packages/desktop/src/assets/file-icons/uml_light.svg diff --git a/packages/app/src/assets/file-icons/unity.svg b/packages/desktop/src/assets/file-icons/unity.svg similarity index 100% rename from packages/app/src/assets/file-icons/unity.svg rename to packages/desktop/src/assets/file-icons/unity.svg diff --git a/packages/app/src/assets/file-icons/unocss.svg b/packages/desktop/src/assets/file-icons/unocss.svg similarity index 100% rename from packages/app/src/assets/file-icons/unocss.svg rename to packages/desktop/src/assets/file-icons/unocss.svg diff --git a/packages/app/src/assets/file-icons/url.svg b/packages/desktop/src/assets/file-icons/url.svg similarity index 100% rename from packages/app/src/assets/file-icons/url.svg rename to packages/desktop/src/assets/file-icons/url.svg diff --git a/packages/app/src/assets/file-icons/uv.svg b/packages/desktop/src/assets/file-icons/uv.svg similarity index 100% rename from packages/app/src/assets/file-icons/uv.svg rename to packages/desktop/src/assets/file-icons/uv.svg diff --git a/packages/app/src/assets/file-icons/vagrant.svg b/packages/desktop/src/assets/file-icons/vagrant.svg similarity index 100% rename from packages/app/src/assets/file-icons/vagrant.svg rename to packages/desktop/src/assets/file-icons/vagrant.svg diff --git a/packages/app/src/assets/file-icons/vala.svg b/packages/desktop/src/assets/file-icons/vala.svg similarity index 100% rename from packages/app/src/assets/file-icons/vala.svg rename to packages/desktop/src/assets/file-icons/vala.svg diff --git a/packages/app/src/assets/file-icons/vanilla-extract.svg b/packages/desktop/src/assets/file-icons/vanilla-extract.svg similarity index 100% rename from packages/app/src/assets/file-icons/vanilla-extract.svg rename to packages/desktop/src/assets/file-icons/vanilla-extract.svg diff --git a/packages/app/src/assets/file-icons/varnish.svg b/packages/desktop/src/assets/file-icons/varnish.svg similarity index 100% rename from packages/app/src/assets/file-icons/varnish.svg rename to packages/desktop/src/assets/file-icons/varnish.svg diff --git a/packages/app/src/assets/file-icons/vedic.svg b/packages/desktop/src/assets/file-icons/vedic.svg similarity index 100% rename from packages/app/src/assets/file-icons/vedic.svg rename to packages/desktop/src/assets/file-icons/vedic.svg diff --git a/packages/app/src/assets/file-icons/velite.svg b/packages/desktop/src/assets/file-icons/velite.svg similarity index 100% rename from packages/app/src/assets/file-icons/velite.svg rename to packages/desktop/src/assets/file-icons/velite.svg diff --git a/packages/app/src/assets/file-icons/velocity.svg b/packages/desktop/src/assets/file-icons/velocity.svg similarity index 100% rename from packages/app/src/assets/file-icons/velocity.svg rename to packages/desktop/src/assets/file-icons/velocity.svg diff --git a/packages/app/src/assets/file-icons/vercel.svg b/packages/desktop/src/assets/file-icons/vercel.svg similarity index 100% rename from packages/app/src/assets/file-icons/vercel.svg rename to packages/desktop/src/assets/file-icons/vercel.svg diff --git a/packages/app/src/assets/file-icons/vercel_light.svg b/packages/desktop/src/assets/file-icons/vercel_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/vercel_light.svg rename to packages/desktop/src/assets/file-icons/vercel_light.svg diff --git a/packages/app/src/assets/file-icons/verdaccio.svg b/packages/desktop/src/assets/file-icons/verdaccio.svg similarity index 100% rename from packages/app/src/assets/file-icons/verdaccio.svg rename to packages/desktop/src/assets/file-icons/verdaccio.svg diff --git a/packages/app/src/assets/file-icons/verified.svg b/packages/desktop/src/assets/file-icons/verified.svg similarity index 100% rename from packages/app/src/assets/file-icons/verified.svg rename to packages/desktop/src/assets/file-icons/verified.svg diff --git a/packages/app/src/assets/file-icons/verilog.svg b/packages/desktop/src/assets/file-icons/verilog.svg similarity index 100% rename from packages/app/src/assets/file-icons/verilog.svg rename to packages/desktop/src/assets/file-icons/verilog.svg diff --git a/packages/app/src/assets/file-icons/vfl.svg b/packages/desktop/src/assets/file-icons/vfl.svg similarity index 100% rename from packages/app/src/assets/file-icons/vfl.svg rename to packages/desktop/src/assets/file-icons/vfl.svg diff --git a/packages/app/src/assets/file-icons/video.svg b/packages/desktop/src/assets/file-icons/video.svg similarity index 100% rename from packages/app/src/assets/file-icons/video.svg rename to packages/desktop/src/assets/file-icons/video.svg diff --git a/packages/app/src/assets/file-icons/vim.svg b/packages/desktop/src/assets/file-icons/vim.svg similarity index 100% rename from packages/app/src/assets/file-icons/vim.svg rename to packages/desktop/src/assets/file-icons/vim.svg diff --git a/packages/app/src/assets/file-icons/virtual.svg b/packages/desktop/src/assets/file-icons/virtual.svg similarity index 100% rename from packages/app/src/assets/file-icons/virtual.svg rename to packages/desktop/src/assets/file-icons/virtual.svg diff --git a/packages/app/src/assets/file-icons/visualstudio.svg b/packages/desktop/src/assets/file-icons/visualstudio.svg similarity index 100% rename from packages/app/src/assets/file-icons/visualstudio.svg rename to packages/desktop/src/assets/file-icons/visualstudio.svg diff --git a/packages/app/src/assets/file-icons/vite.svg b/packages/desktop/src/assets/file-icons/vite.svg similarity index 100% rename from packages/app/src/assets/file-icons/vite.svg rename to packages/desktop/src/assets/file-icons/vite.svg diff --git a/packages/app/src/assets/file-icons/vitest.svg b/packages/desktop/src/assets/file-icons/vitest.svg similarity index 100% rename from packages/app/src/assets/file-icons/vitest.svg rename to packages/desktop/src/assets/file-icons/vitest.svg diff --git a/packages/app/src/assets/file-icons/vlang.svg b/packages/desktop/src/assets/file-icons/vlang.svg similarity index 100% rename from packages/app/src/assets/file-icons/vlang.svg rename to packages/desktop/src/assets/file-icons/vlang.svg diff --git a/packages/app/src/assets/file-icons/vscode.svg b/packages/desktop/src/assets/file-icons/vscode.svg similarity index 100% rename from packages/app/src/assets/file-icons/vscode.svg rename to packages/desktop/src/assets/file-icons/vscode.svg diff --git a/packages/app/src/assets/file-icons/vue-config.svg b/packages/desktop/src/assets/file-icons/vue-config.svg similarity index 100% rename from packages/app/src/assets/file-icons/vue-config.svg rename to packages/desktop/src/assets/file-icons/vue-config.svg diff --git a/packages/app/src/assets/file-icons/vue.svg b/packages/desktop/src/assets/file-icons/vue.svg similarity index 100% rename from packages/app/src/assets/file-icons/vue.svg rename to packages/desktop/src/assets/file-icons/vue.svg diff --git a/packages/app/src/assets/file-icons/vuex-store.svg b/packages/desktop/src/assets/file-icons/vuex-store.svg similarity index 100% rename from packages/app/src/assets/file-icons/vuex-store.svg rename to packages/desktop/src/assets/file-icons/vuex-store.svg diff --git a/packages/app/src/assets/file-icons/wakatime.svg b/packages/desktop/src/assets/file-icons/wakatime.svg similarity index 100% rename from packages/app/src/assets/file-icons/wakatime.svg rename to packages/desktop/src/assets/file-icons/wakatime.svg diff --git a/packages/app/src/assets/file-icons/wakatime_light.svg b/packages/desktop/src/assets/file-icons/wakatime_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/wakatime_light.svg rename to packages/desktop/src/assets/file-icons/wakatime_light.svg diff --git a/packages/app/src/assets/file-icons/wallaby.svg b/packages/desktop/src/assets/file-icons/wallaby.svg similarity index 100% rename from packages/app/src/assets/file-icons/wallaby.svg rename to packages/desktop/src/assets/file-icons/wallaby.svg diff --git a/packages/app/src/assets/file-icons/wally.svg b/packages/desktop/src/assets/file-icons/wally.svg similarity index 100% rename from packages/app/src/assets/file-icons/wally.svg rename to packages/desktop/src/assets/file-icons/wally.svg diff --git a/packages/app/src/assets/file-icons/watchman.svg b/packages/desktop/src/assets/file-icons/watchman.svg similarity index 100% rename from packages/app/src/assets/file-icons/watchman.svg rename to packages/desktop/src/assets/file-icons/watchman.svg diff --git a/packages/app/src/assets/file-icons/webassembly.svg b/packages/desktop/src/assets/file-icons/webassembly.svg similarity index 100% rename from packages/app/src/assets/file-icons/webassembly.svg rename to packages/desktop/src/assets/file-icons/webassembly.svg diff --git a/packages/app/src/assets/file-icons/webhint.svg b/packages/desktop/src/assets/file-icons/webhint.svg similarity index 100% rename from packages/app/src/assets/file-icons/webhint.svg rename to packages/desktop/src/assets/file-icons/webhint.svg diff --git a/packages/app/src/assets/file-icons/webpack.svg b/packages/desktop/src/assets/file-icons/webpack.svg similarity index 100% rename from packages/app/src/assets/file-icons/webpack.svg rename to packages/desktop/src/assets/file-icons/webpack.svg diff --git a/packages/app/src/assets/file-icons/wepy.svg b/packages/desktop/src/assets/file-icons/wepy.svg similarity index 100% rename from packages/app/src/assets/file-icons/wepy.svg rename to packages/desktop/src/assets/file-icons/wepy.svg diff --git a/packages/app/src/assets/file-icons/werf.svg b/packages/desktop/src/assets/file-icons/werf.svg similarity index 100% rename from packages/app/src/assets/file-icons/werf.svg rename to packages/desktop/src/assets/file-icons/werf.svg diff --git a/packages/app/src/assets/file-icons/windicss.svg b/packages/desktop/src/assets/file-icons/windicss.svg similarity index 100% rename from packages/app/src/assets/file-icons/windicss.svg rename to packages/desktop/src/assets/file-icons/windicss.svg diff --git a/packages/app/src/assets/file-icons/wolframlanguage.svg b/packages/desktop/src/assets/file-icons/wolframlanguage.svg similarity index 100% rename from packages/app/src/assets/file-icons/wolframlanguage.svg rename to packages/desktop/src/assets/file-icons/wolframlanguage.svg diff --git a/packages/app/src/assets/file-icons/word.svg b/packages/desktop/src/assets/file-icons/word.svg similarity index 100% rename from packages/app/src/assets/file-icons/word.svg rename to packages/desktop/src/assets/file-icons/word.svg diff --git a/packages/app/src/assets/file-icons/wrangler.svg b/packages/desktop/src/assets/file-icons/wrangler.svg similarity index 100% rename from packages/app/src/assets/file-icons/wrangler.svg rename to packages/desktop/src/assets/file-icons/wrangler.svg diff --git a/packages/app/src/assets/file-icons/wxt.svg b/packages/desktop/src/assets/file-icons/wxt.svg similarity index 100% rename from packages/app/src/assets/file-icons/wxt.svg rename to packages/desktop/src/assets/file-icons/wxt.svg diff --git a/packages/app/src/assets/file-icons/xaml.svg b/packages/desktop/src/assets/file-icons/xaml.svg similarity index 100% rename from packages/app/src/assets/file-icons/xaml.svg rename to packages/desktop/src/assets/file-icons/xaml.svg diff --git a/packages/app/src/assets/file-icons/xmake.svg b/packages/desktop/src/assets/file-icons/xmake.svg similarity index 100% rename from packages/app/src/assets/file-icons/xmake.svg rename to packages/desktop/src/assets/file-icons/xmake.svg diff --git a/packages/app/src/assets/file-icons/xml.svg b/packages/desktop/src/assets/file-icons/xml.svg similarity index 100% rename from packages/app/src/assets/file-icons/xml.svg rename to packages/desktop/src/assets/file-icons/xml.svg diff --git a/packages/app/src/assets/file-icons/yaml.svg b/packages/desktop/src/assets/file-icons/yaml.svg similarity index 100% rename from packages/app/src/assets/file-icons/yaml.svg rename to packages/desktop/src/assets/file-icons/yaml.svg diff --git a/packages/app/src/assets/file-icons/yang.svg b/packages/desktop/src/assets/file-icons/yang.svg similarity index 100% rename from packages/app/src/assets/file-icons/yang.svg rename to packages/desktop/src/assets/file-icons/yang.svg diff --git a/packages/app/src/assets/file-icons/yarn.svg b/packages/desktop/src/assets/file-icons/yarn.svg similarity index 100% rename from packages/app/src/assets/file-icons/yarn.svg rename to packages/desktop/src/assets/file-icons/yarn.svg diff --git a/packages/app/src/assets/file-icons/zeabur.svg b/packages/desktop/src/assets/file-icons/zeabur.svg similarity index 100% rename from packages/app/src/assets/file-icons/zeabur.svg rename to packages/desktop/src/assets/file-icons/zeabur.svg diff --git a/packages/app/src/assets/file-icons/zeabur_light.svg b/packages/desktop/src/assets/file-icons/zeabur_light.svg similarity index 100% rename from packages/app/src/assets/file-icons/zeabur_light.svg rename to packages/desktop/src/assets/file-icons/zeabur_light.svg diff --git a/packages/app/src/assets/file-icons/zig.svg b/packages/desktop/src/assets/file-icons/zig.svg similarity index 100% rename from packages/app/src/assets/file-icons/zig.svg rename to packages/desktop/src/assets/file-icons/zig.svg diff --git a/packages/app/src/assets/file-icons/zip.svg b/packages/desktop/src/assets/file-icons/zip.svg similarity index 100% rename from packages/app/src/assets/file-icons/zip.svg rename to packages/desktop/src/assets/file-icons/zip.svg diff --git a/packages/app/src/components/code.tsx b/packages/desktop/src/components/code.tsx similarity index 100% rename from packages/app/src/components/code.tsx rename to packages/desktop/src/components/code.tsx diff --git a/packages/app/src/components/editor-pane.tsx b/packages/desktop/src/components/editor-pane.tsx similarity index 100% rename from packages/app/src/components/editor-pane.tsx rename to packages/desktop/src/components/editor-pane.tsx diff --git a/packages/app/src/components/file-tree.tsx b/packages/desktop/src/components/file-tree.tsx similarity index 100% rename from packages/app/src/components/file-tree.tsx rename to packages/desktop/src/components/file-tree.tsx diff --git a/packages/app/src/components/markdown.tsx b/packages/desktop/src/components/markdown.tsx similarity index 100% rename from packages/app/src/components/markdown.tsx rename to packages/desktop/src/components/markdown.tsx diff --git a/packages/app/src/components/prompt-form.tsx b/packages/desktop/src/components/prompt-form.tsx similarity index 100% rename from packages/app/src/components/prompt-form.tsx rename to packages/desktop/src/components/prompt-form.tsx diff --git a/packages/app/src/components/resizeable-pane.tsx b/packages/desktop/src/components/resizeable-pane.tsx similarity index 100% rename from packages/app/src/components/resizeable-pane.tsx rename to packages/desktop/src/components/resizeable-pane.tsx diff --git a/packages/app/src/components/select-dialog.tsx b/packages/desktop/src/components/select-dialog.tsx similarity index 100% rename from packages/app/src/components/select-dialog.tsx rename to packages/desktop/src/components/select-dialog.tsx diff --git a/packages/app/src/components/select.tsx b/packages/desktop/src/components/select.tsx similarity index 100% rename from packages/app/src/components/select.tsx rename to packages/desktop/src/components/select.tsx diff --git a/packages/app/src/components/session-list.tsx b/packages/desktop/src/components/session-list.tsx similarity index 100% rename from packages/app/src/components/session-list.tsx rename to packages/desktop/src/components/session-list.tsx diff --git a/packages/app/src/components/session-timeline.tsx b/packages/desktop/src/components/session-timeline.tsx similarity index 100% rename from packages/app/src/components/session-timeline.tsx rename to packages/desktop/src/components/session-timeline.tsx diff --git a/packages/app/src/components/sidebar-nav.tsx b/packages/desktop/src/components/sidebar-nav.tsx similarity index 100% rename from packages/app/src/components/sidebar-nav.tsx rename to packages/desktop/src/components/sidebar-nav.tsx diff --git a/packages/app/src/context/event.tsx b/packages/desktop/src/context/event.tsx similarity index 100% rename from packages/app/src/context/event.tsx rename to packages/desktop/src/context/event.tsx diff --git a/packages/app/src/context/index.ts b/packages/desktop/src/context/index.ts similarity index 100% rename from packages/app/src/context/index.ts rename to packages/desktop/src/context/index.ts diff --git a/packages/app/src/context/local.tsx b/packages/desktop/src/context/local.tsx similarity index 100% rename from packages/app/src/context/local.tsx rename to packages/desktop/src/context/local.tsx diff --git a/packages/app/src/context/marked.tsx b/packages/desktop/src/context/marked.tsx similarity index 100% rename from packages/app/src/context/marked.tsx rename to packages/desktop/src/context/marked.tsx diff --git a/packages/app/src/context/sdk.tsx b/packages/desktop/src/context/sdk.tsx similarity index 100% rename from packages/app/src/context/sdk.tsx rename to packages/desktop/src/context/sdk.tsx diff --git a/packages/app/src/context/shiki.tsx b/packages/desktop/src/context/shiki.tsx similarity index 100% rename from packages/app/src/context/shiki.tsx rename to packages/desktop/src/context/shiki.tsx diff --git a/packages/app/src/context/sync.tsx b/packages/desktop/src/context/sync.tsx similarity index 100% rename from packages/app/src/context/sync.tsx rename to packages/desktop/src/context/sync.tsx diff --git a/packages/app/src/context/theme.tsx b/packages/desktop/src/context/theme.tsx similarity index 100% rename from packages/app/src/context/theme.tsx rename to packages/desktop/src/context/theme.tsx diff --git a/packages/app/src/env.d.ts b/packages/desktop/src/env.d.ts similarity index 100% rename from packages/app/src/env.d.ts rename to packages/desktop/src/env.d.ts diff --git a/packages/app/src/index.css b/packages/desktop/src/index.css similarity index 100% rename from packages/app/src/index.css rename to packages/desktop/src/index.css diff --git a/packages/app/src/index.tsx b/packages/desktop/src/index.tsx similarity index 100% rename from packages/app/src/index.tsx rename to packages/desktop/src/index.tsx diff --git a/packages/app/src/pages/index.tsx b/packages/desktop/src/pages/index.tsx similarity index 100% rename from packages/app/src/pages/index.tsx rename to packages/desktop/src/pages/index.tsx diff --git a/packages/app/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx similarity index 100% rename from packages/app/src/pages/layout.tsx rename to packages/desktop/src/pages/layout.tsx diff --git a/packages/app/src/sst-env.d.ts b/packages/desktop/src/sst-env.d.ts similarity index 100% rename from packages/app/src/sst-env.d.ts rename to packages/desktop/src/sst-env.d.ts diff --git a/packages/app/src/ui/button.tsx b/packages/desktop/src/ui/button.tsx similarity index 100% rename from packages/app/src/ui/button.tsx rename to packages/desktop/src/ui/button.tsx diff --git a/packages/app/src/ui/collapsible.tsx b/packages/desktop/src/ui/collapsible.tsx similarity index 100% rename from packages/app/src/ui/collapsible.tsx rename to packages/desktop/src/ui/collapsible.tsx diff --git a/packages/app/src/ui/file-icon.tsx b/packages/desktop/src/ui/file-icon.tsx similarity index 100% rename from packages/app/src/ui/file-icon.tsx rename to packages/desktop/src/ui/file-icon.tsx diff --git a/packages/app/src/ui/file-icons/sprite.svg b/packages/desktop/src/ui/file-icons/sprite.svg similarity index 100% rename from packages/app/src/ui/file-icons/sprite.svg rename to packages/desktop/src/ui/file-icons/sprite.svg diff --git a/packages/app/src/ui/file-icons/types.ts b/packages/desktop/src/ui/file-icons/types.ts similarity index 100% rename from packages/app/src/ui/file-icons/types.ts rename to packages/desktop/src/ui/file-icons/types.ts diff --git a/packages/app/src/ui/icon-button.tsx b/packages/desktop/src/ui/icon-button.tsx similarity index 100% rename from packages/app/src/ui/icon-button.tsx rename to packages/desktop/src/ui/icon-button.tsx diff --git a/packages/app/src/ui/icon.tsx b/packages/desktop/src/ui/icon.tsx similarity index 100% rename from packages/app/src/ui/icon.tsx rename to packages/desktop/src/ui/icon.tsx diff --git a/packages/app/src/ui/index.ts b/packages/desktop/src/ui/index.ts similarity index 100% rename from packages/app/src/ui/index.ts rename to packages/desktop/src/ui/index.ts diff --git a/packages/app/src/ui/link.tsx b/packages/desktop/src/ui/link.tsx similarity index 100% rename from packages/app/src/ui/link.tsx rename to packages/desktop/src/ui/link.tsx diff --git a/packages/app/src/ui/logo.tsx b/packages/desktop/src/ui/logo.tsx similarity index 100% rename from packages/app/src/ui/logo.tsx rename to packages/desktop/src/ui/logo.tsx diff --git a/packages/app/src/ui/tabs.tsx b/packages/desktop/src/ui/tabs.tsx similarity index 100% rename from packages/app/src/ui/tabs.tsx rename to packages/desktop/src/ui/tabs.tsx diff --git a/packages/app/src/ui/tooltip.tsx b/packages/desktop/src/ui/tooltip.tsx similarity index 100% rename from packages/app/src/ui/tooltip.tsx rename to packages/desktop/src/ui/tooltip.tsx diff --git a/packages/app/src/utils/binary.ts b/packages/desktop/src/utils/binary.ts similarity index 100% rename from packages/app/src/utils/binary.ts rename to packages/desktop/src/utils/binary.ts diff --git a/packages/app/src/utils/dom.ts b/packages/desktop/src/utils/dom.ts similarity index 100% rename from packages/app/src/utils/dom.ts rename to packages/desktop/src/utils/dom.ts diff --git a/packages/app/src/utils/index.ts b/packages/desktop/src/utils/index.ts similarity index 100% rename from packages/app/src/utils/index.ts rename to packages/desktop/src/utils/index.ts diff --git a/packages/app/src/utils/path.ts b/packages/desktop/src/utils/path.ts similarity index 100% rename from packages/app/src/utils/path.ts rename to packages/desktop/src/utils/path.ts diff --git a/packages/app/src/utils/speech.ts b/packages/desktop/src/utils/speech.ts similarity index 100% rename from packages/app/src/utils/speech.ts rename to packages/desktop/src/utils/speech.ts diff --git a/packages/app/sst-env.d.ts b/packages/desktop/sst-env.d.ts similarity index 100% rename from packages/app/sst-env.d.ts rename to packages/desktop/sst-env.d.ts diff --git a/packages/app/tsconfig.json b/packages/desktop/tsconfig.json similarity index 100% rename from packages/app/tsconfig.json rename to packages/desktop/tsconfig.json diff --git a/packages/app/vite.config.ts b/packages/desktop/vite.config.ts similarity index 100% rename from packages/app/vite.config.ts rename to packages/desktop/vite.config.ts diff --git a/packages/function/package.json b/packages/function/package.json index 3660eb26a..9bacf0d44 100644 --- a/packages/function/package.json +++ b/packages/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode/function", - "version": "0.14.0", + "version": "0.14.1", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/opencode/package.json b/packages/opencode/package.json index d0388c799..304297755 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "0.14.0", + "version": "0.14.1", "name": "opencode", "type": "module", "private": true, @@ -19,6 +19,7 @@ }, "devDependencies": { "@ai-sdk/amazon-bedrock": "2.2.10", + "@ai-sdk/google-vertex": "3.0.16", "@octokit/webhooks-types": "7.6.1", "@standard-schema/spec": "1.0.0", "@tsconfig/bun": "1.0.7", diff --git a/packages/opencode/src/cli/cmd/auth.ts b/packages/opencode/src/cli/cmd/auth.ts index a70748ded..763d82b3f 100644 --- a/packages/opencode/src/cli/cmd/auth.ts +++ b/packages/opencode/src/cli/cmd/auth.ts @@ -247,6 +247,14 @@ export const AuthLoginCommand = cmd({ return } + if (provider === "google-vertex") { + prompts.log.info( + "Google Cloud Vertex AI uses Application Default Credentials. Set GOOGLE_APPLICATION_CREDENTIALS or run 'gcloud auth application-default login'. Optionally set GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION (or VERTEX_LOCATION)", + ) + prompts.outro("Done") + return + } + if (provider === "opencode") { prompts.log.info("Create an api key at https://opencode.ai/auth") } diff --git a/packages/opencode/src/cli/cmd/debug/config.ts b/packages/opencode/src/cli/cmd/debug/config.ts new file mode 100644 index 000000000..c7ce8d0e7 --- /dev/null +++ b/packages/opencode/src/cli/cmd/debug/config.ts @@ -0,0 +1,14 @@ +import { Config } from "../../../config/config" +import { bootstrap } from "../../bootstrap" +import { cmd } from "../cmd" + +export const ConfigCommand = cmd({ + command: "config", + builder: (yargs) => yargs, + async handler() { + await bootstrap(process.cwd(), async () => { + const config = await Config.get() + console.log(JSON.stringify(config, null, 2)) + }) + }, +}) diff --git a/packages/opencode/src/cli/cmd/debug/index.ts b/packages/opencode/src/cli/cmd/debug/index.ts index 71d337e32..172987875 100644 --- a/packages/opencode/src/cli/cmd/debug/index.ts +++ b/packages/opencode/src/cli/cmd/debug/index.ts @@ -1,6 +1,7 @@ import { Global } from "../../../global" import { bootstrap } from "../../bootstrap" import { cmd } from "../cmd" +import { ConfigCommand } from "./config" import { FileCommand } from "./file" import { LSPCommand } from "./lsp" import { RipgrepCommand } from "./ripgrep" @@ -11,6 +12,7 @@ export const DebugCommand = cmd({ command: "debug", builder: (yargs) => yargs + .command(ConfigCommand) .command(LSPCommand) .command(RipgrepCommand) .command(FileCommand) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 188639830..c18bc4898 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -153,6 +153,40 @@ export namespace Provider { }, } }, + "google-vertex": async () => { + const project = process.env["GOOGLE_CLOUD_PROJECT"] ?? process.env["GCP_PROJECT"] ?? process.env["GCLOUD_PROJECT"] + const location = process.env["GOOGLE_CLOUD_LOCATION"] ?? process.env["VERTEX_LOCATION"] ?? "us-east5" + const autoload = Boolean(project) + if (!autoload) return { autoload: false } + return { + autoload: true, + options: { + project, + location, + }, + async getModel(sdk: any, modelID: string) { + const id = String(modelID).trim() + return sdk.languageModel(id) + }, + } + }, + "google-vertex-anthropic": async () => { + const project = process.env["GOOGLE_CLOUD_PROJECT"] ?? process.env["GCP_PROJECT"] ?? process.env["GCLOUD_PROJECT"] + const location = process.env["GOOGLE_CLOUD_LOCATION"] ?? process.env["VERTEX_LOCATION"] ?? "us-east5" + const autoload = Boolean(project) + if (!autoload) return { autoload: false } + return { + autoload: true, + options: { + project, + location, + }, + async getModel(sdk: any, modelID: string) { + const id = String(modelID).trim() + return sdk.languageModel(id) + }, + } + }, } const state = Instance.state(async () => { @@ -344,7 +378,16 @@ export namespace Provider { const key = Bun.hash.xxHash32(JSON.stringify({ pkg, options })) const existing = s.sdk.get(key) if (existing) return existing - const mod = await import(await BunProc.install(pkg, "latest")) + const installedPath = await BunProc.install(pkg, "latest") + // The `google-vertex-anthropic` provider points to the `@ai-sdk/google-vertex` package. + // Ref: https://github.com/sst/models.dev/blob/0a87de42ab177bebad0620a889e2eb2b4a5dd4ab/providers/google-vertex-anthropic/provider.toml + // However, the actual export is at the subpath `@ai-sdk/google-vertex/anthropic`. + // Ref: https://ai-sdk.dev/providers/ai-sdk-providers/google-vertex#google-vertex-anthropic-provider-usage + // In addition, Bun's dynamic import logic does not support subpath imports, + // so we patch the import path to load directly from `dist`. + const modPath = + provider.id === "google-vertex-anthropic" ? `${installedPath}/dist/anthropic/index.mjs` : installedPath + const mod = await import(modPath) if (options["timeout"] !== undefined) { // Only override fetch if user explicitly sets timeout options["fetch"] = async (input: any, init?: any) => { diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index 920699a2b..3232a5f17 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -92,7 +92,7 @@ export namespace ProviderTransform { } if (modelID.includes("gpt-5") && !modelID.includes("gpt-5-chat")) { - if (!modelID.includes("codex")) result["reasoningEffort"] = "medium" + result["reasoningEffort"] = "medium" if (providerID !== "azure") { result["textVerbosity"] = modelID.includes("codex") ? "medium" : "low" } diff --git a/packages/plugin/package.json b/packages/plugin/package.json index c1fe270cb..a69e74854 100644 --- a/packages/plugin/package.json +++ b/packages/plugin/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/plugin", - "version": "0.14.0", + "version": "0.14.1", "type": "module", "scripts": { "typecheck": "tsc --noEmit", diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json index 5062bb774..ea17feef1 100644 --- a/packages/sdk/js/package.json +++ b/packages/sdk/js/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/sdk", - "version": "0.14.0", + "version": "0.14.1", "type": "module", "scripts": { "typecheck": "tsc --noEmit", diff --git a/packages/web/package.json b/packages/web/package.json index df19307a6..fc5516309 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,7 +1,7 @@ { "name": "@opencode/web", "type": "module", - "version": "0.14.0", + "version": "0.14.1", "scripts": { "dev": "astro dev", "dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev", diff --git a/packages/web/src/content/docs/agents.mdx b/packages/web/src/content/docs/agents.mdx index 3c7bb93af..82d3c8ccb 100644 --- a/packages/web/src/content/docs/agents.mdx +++ b/packages/web/src/content/docs/agents.mdx @@ -15,7 +15,7 @@ You can switch between agents during a session or invoke them with the `@` menti ## Types -There are two types of agents in opencode; primary agents and subagents. +There are two types of agents in OpenCode; primary agents and subagents. --- @@ -27,7 +27,7 @@ Primary agents are the main assistants you interact with directly. You can cycle You can use the **Tab** key to switch between primary agents during a session. ::: -opencode comes with two built-in primary agents, **Build** and **Plan**. We'll +OpenCode comes with two built-in primary agents, **Build** and **Plan**. We'll look at these below. --- @@ -36,13 +36,13 @@ look at these below. Subagents are specialized assistants that primary agents can invoke for specific tasks. You can also manually invoke them by **@ mentioning** them in your messages. -opencode comes with one built-in subagent, **General**. We'll look at this below. +OpenCode comes with one built-in subagent, **General**. We'll look at this below. --- ## Built-in -opencode comes with two built-in primary agents and one built-in subagent. +OpenCode comes with two built-in primary agents and one built-in subagent. --- @@ -245,7 +245,7 @@ Temperature values typically range from 0.0 to 1.0: } ``` -If no temperature is specified, opencode uses model-specific defaults; typically 0 for most models, 0.55 for Qwen models. +If no temperature is specified, OpenCode uses model-specific defaults; typically 0 for most models, 0.55 for Qwen models. --- @@ -279,7 +279,7 @@ Specify a custom system prompt file for this agent with the `prompt` config. The } ``` -This path is relative to where the config file is located. So this works for both the global opencode config and the project specific config. +This path is relative to where the config file is located. So this works for both the global OpenCode config and the project specific config. --- diff --git a/packages/web/src/content/docs/cli.mdx b/packages/web/src/content/docs/cli.mdx index 5d2ac4a7b..2fd3a0f5c 100644 --- a/packages/web/src/content/docs/cli.mdx +++ b/packages/web/src/content/docs/cli.mdx @@ -1,17 +1,17 @@ --- title: CLI -description: opencode CLI options and commands. +description: OpenCode CLI options and commands. --- import { Tabs, TabItem } from "@astrojs/starlight/components" -The opencode CLI by default starts the [TUI](/docs/tui) when run without any arguments. +The OpenCode CLI by default starts the [TUI](/docs/tui) when run without any arguments. ```bash opencode ``` -But it also accepts commands as documented on this page. This allows you to interact with opencode programmatically. +But it also accepts commands as documented on this page. This allows you to interact with OpenCode programmatically. ```bash opencode run "Explain how closures work in JavaScript" @@ -21,13 +21,13 @@ opencode run "Explain how closures work in JavaScript" ## Commands -The opencode CLI also has the following commands. +The OpenCode CLI also has the following commands. --- ### agent -Manage agents for opencode. +Manage agents for OpenCode. ```bash opencode agent [command] @@ -59,13 +59,13 @@ opencode auth [command] #### login -opencode is powered by the provider list at [Models.dev](https://models.dev), so you can use `opencode auth login` to configure API keys for any provider you'd like to use. This is stored in `~/.local/share/opencode/auth.json`. +OpenCode is powered by the provider list at [Models.dev](https://models.dev), so you can use `opencode auth login` to configure API keys for any provider you'd like to use. This is stored in `~/.local/share/opencode/auth.json`. ```bash opencode auth login ``` -When opencode starts up it loads the providers from the credentials file. And if there are any keys defined in your environments or a `.env` file in your project. +When OpenCode starts up it loads the providers from the credentials file. And if there are any keys defined in your environments or a `.env` file in your project. --- diff --git a/packages/web/src/content/docs/commands.mdx b/packages/web/src/content/docs/commands.mdx index 1e6aa951c..50f736b75 100644 --- a/packages/web/src/content/docs/commands.mdx +++ b/packages/web/src/content/docs/commands.mdx @@ -42,13 +42,13 @@ Use the command by typing `/` followed by the command name. ## Configure -You can add custom commands through the opencode config or by creating markdown files in the `command/` directory. +You can add custom commands through the OpenCode config or by creating markdown files in the `command/` directory. --- ### JSON -Use the `command` option in your opencode [config](/docs/config): +Use the `command` option in your OpenCode [config](/docs/config): ```json title="opencode.jsonc" {4-12} { diff --git a/packages/web/src/content/docs/config.mdx b/packages/web/src/content/docs/config.mdx index 907389e05..f00af8ecb 100644 --- a/packages/web/src/content/docs/config.mdx +++ b/packages/web/src/content/docs/config.mdx @@ -1,15 +1,15 @@ --- title: Config -description: Using the opencode JSON config. +description: Using the OpenCode JSON config. --- -You can configure opencode using a JSON config file. +You can configure OpenCode using a JSON config file. --- ## Format -opencode supports both **JSON** and **JSONC** (JSON with Comments) formats. +OpenCode supports both **JSON** and **JSONC** (JSON with Comments) formats. ```jsonc title="opencode.jsonc" { @@ -32,7 +32,7 @@ different order of precedence. ### Global -Place your global opencode config in `~/.config/opencode/opencode.json`. You'll want to use the global config for things like themes, providers, or keybinds. +Place your global OpenCode config in `~/.config/opencode/opencode.json`. You'll want to use the global config for things like themes, providers, or keybinds. --- @@ -44,7 +44,7 @@ You can also add a `opencode.json` in your project. It takes precedence over the Place project specific config in the root of your project. ::: -When opencode starts up, it looks for a config file in the current directory or traverse up to the nearest Git directory. +When OpenCode starts up, it looks for a config file in the current directory or traverse up to the nearest Git directory. This is also safe to be checked into Git and uses the same schema as the global one. @@ -71,7 +71,7 @@ Your editor should be able to validate and autocomplete based on the schema. ### Models -You can configure the providers and models you want to use in your opencode config through the `provider`, `model` and `small_model` options. +You can configure the providers and models you want to use in your OpenCode config through the `provider`, `model` and `small_model` options. ```json title="opencode.json" { @@ -82,7 +82,7 @@ You can configure the providers and models you want to use in your opencode conf } ``` -The `small_model` option configures a separate model for lightweight tasks like title generation. By default, opencode tries to use a cheaper model if one is available from your provider, otherwise it falls back to your main model. +The `small_model` option configures a separate model for lightweight tasks like title generation. By default, OpenCode tries to use a cheaper model if one is available from your provider, otherwise it falls back to your main model. You can also configure [local models](/docs/models#local). [Learn more](/docs/models). @@ -90,7 +90,7 @@ You can also configure [local models](/docs/models#local). [Learn more](/docs/mo ### Themes -You can configure the theme you want to use in your opencode config through the `theme` option. +You can configure the theme you want to use in your OpenCode config through the `theme` option. ```json title="opencode.json" { @@ -193,7 +193,7 @@ You can customize your keybinds through the `keybinds` option. ### Autoupdate -opencode will automatically download any new updates when it starts up. You can disable this with the `autoupdate` option. +OpenCode will automatically download any new updates when it starts up. You can disable this with the `autoupdate` option. ```json title="opencode.json" { diff --git a/packages/web/src/content/docs/enterprise.mdx b/packages/web/src/content/docs/enterprise.mdx index 4faff39cd..c8a67ec34 100644 --- a/packages/web/src/content/docs/enterprise.mdx +++ b/packages/web/src/content/docs/enterprise.mdx @@ -1,13 +1,13 @@ --- title: Enterprise -description: Using opencode in your organization. +description: Using OpenCode in your organization. --- import config from "../../../config.mjs" export const email = `mailto:${config.email}` -opencode does not store any of your code or context data. This makes it easy for -you to use opencode at your organization. +OpenCode does not store any of your code or context data. This makes it easy for +you to use OpenCode at your organization. To get started, we recommend: @@ -18,7 +18,7 @@ To get started, we recommend: ## Trial -Since opencode is open source and does not store any of your code or context data, your developers can simply [get started](/docs/) and carry out a trial. +Since OpenCode is open source and does not store any of your code or context data, your developers can simply [get started](/docs/) and carry out a trial. --- diff --git a/packages/web/src/content/docs/formatters.mdx b/packages/web/src/content/docs/formatters.mdx index 5c00c3ca7..8853ca334 100644 --- a/packages/web/src/content/docs/formatters.mdx +++ b/packages/web/src/content/docs/formatters.mdx @@ -1,15 +1,15 @@ --- title: Formatters -description: opencode uses language specific formatters. +description: OpenCode uses language specific formatters. --- -opencode automatically formats files after they are written or edited using language-specific formatters. This ensures that the code that is generated follows the code styles of your project. +OpenCode automatically formats files after they are written or edited using language-specific formatters. This ensures that the code that is generated follows the code styles of your project. --- ## Built-in -opencode comes with several built-in formatters for popular languages and frameworks. Below is a list of the formatters, supported file extensions, and commands or config options it needs. +OpenCode comes with several built-in formatters for popular languages and frameworks. Below is a list of the formatters, supported file extensions, and commands or config options it needs. | Formatter | Extensions | Requirements | | -------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------- | @@ -25,13 +25,13 @@ opencode comes with several built-in formatters for popular languages and framew | standardrb | .rb, .rake, .gemspec, .ru | `standardrb` command available | | htmlbeautifier | .erb, .html.erb | `htmlbeautifier` command available | -So if your project has `prettier` in your `package.json`, opencode will automatically use it. +So if your project has `prettier` in your `package.json`, OpenCode will automatically use it. --- ## How it works -When opencode writes or edits a file, it: +When OpenCode writes or edits a file, it: 1. Checks the file extension against all enabled formatters. 2. Runs the appropriate formatter command on the file. @@ -43,7 +43,7 @@ This process happens in the background, ensuring your code styles are maintained ## Configure -You can customize formatters through the `formatter` section in your opencode config. +You can customize formatters through the `formatter` section in your OpenCode config. ```json title="opencode.json" { diff --git a/packages/web/src/content/docs/ide.mdx b/packages/web/src/content/docs/ide.mdx index 47c030598..0f708d9e7 100644 --- a/packages/web/src/content/docs/ide.mdx +++ b/packages/web/src/content/docs/ide.mdx @@ -1,24 +1,24 @@ --- title: IDE -description: The opencode extension for VS Code, Cursor, and other IDEs +description: The OpenCode extension for VS Code, Cursor, and other IDEs --- -opencode integrates with VS Code, Cursor, or any IDE that supports a terminal. Just run `opencode` in the terminal to get started. +OpenCode integrates with VS Code, Cursor, or any IDE that supports a terminal. Just run `opencode` in the terminal to get started. --- ## Usage -- **Quick Launch**: Use `Cmd+Esc` (Mac) or `Ctrl+Esc` (Windows/Linux) to open opencode in a split terminal view, or focus an existing terminal session if one is already running. -- **New Session**: Use `Cmd+Shift+Esc` (Mac) or `Ctrl+Shift+Esc` (Windows/Linux) to start a new opencode terminal session, even if one is already open. You can also click the opencode button in the UI. -- **Context Awareness**: Automatically share your current selection or tab with opencode. +- **Quick Launch**: Use `Cmd+Esc` (Mac) or `Ctrl+Esc` (Windows/Linux) to open OpenCode in a split terminal view, or focus an existing terminal session if one is already running. +- **New Session**: Use `Cmd+Shift+Esc` (Mac) or `Ctrl+Shift+Esc` (Windows/Linux) to start a new OpenCode terminal session, even if one is already open. You can also click the OpenCode button in the UI. +- **Context Awareness**: Automatically share your current selection or tab with OpenCode. - **File Reference Shortcuts**: Use `Cmd+Option+K` (Mac) or `Alt+Ctrl+K` (Linux/Windows) to insert file references. For example, `@File#L37-42`. --- ## Installation -To install opencode on VS Code and popular forks like Cursor, Windsurf, VSCodium: +To install OpenCode on VS Code and popular forks like Cursor, Windsurf, VSCodium: 1. Open VS Code 2. Open the integrated terminal @@ -30,7 +30,7 @@ If on the other hand you want to use your own IDE when you run `/editor` or `/ex ### Manual Install -Search for **opencode** in the Extension Marketplace and click **Install**. +Search for **OpenCode** in the Extension Marketplace and click **Install**. --- diff --git a/packages/web/src/content/docs/index.mdx b/packages/web/src/content/docs/index.mdx index 9cc1bf8ed..05447716e 100644 --- a/packages/web/src/content/docs/index.mdx +++ b/packages/web/src/content/docs/index.mdx @@ -1,15 +1,15 @@ --- title: Intro -description: Get started with opencode. +description: Get started with OpenCode. --- import { Tabs, TabItem } from "@astrojs/starlight/components" import config from "../../../config.mjs" export const console = config.console -[**opencode**](/) is an AI coding agent built for the terminal. +[**OpenCode**](/) is an AI coding agent built for the terminal. -![opencode TUI with the opencode theme](../../assets/lander/screenshot.png) +![OpenCode TUI with the opencode theme](../../assets/lander/screenshot.png) Let's get started. @@ -17,7 +17,7 @@ Let's get started. #### Prerequisites -To use opencode, you'll need: +To use OpenCode, you'll need: 1. A modern terminal emulator like: - [WezTerm](https://wezterm.org), cross-platform @@ -31,7 +31,7 @@ To use opencode, you'll need: ## Install -The easiest way to install opencode is through the install script. +The easiest way to install OpenCode is through the install script. ```bash curl -fsSL https://opencode.ai/install | bash @@ -103,7 +103,7 @@ You can also install it with the following commands: npm install -g opencode-ai ``` -Support for installing opencode on Windows using Bun is currently in progress. +Support for installing OpenCode on Windows using Bun is currently in progress. You can also grab the binary from the [Releases](https://github.com/sst/opencode/releases). @@ -111,10 +111,10 @@ You can also grab the binary from the [Releases](https://github.com/sst/opencode ## Configure -With opencode you can use any LLM provider by configuring their API keys. +With OpenCode you can use any LLM provider by configuring their API keys. -If you are new to using LLM providers, we recommend using [opencode zen](/docs/zen). -It's a curated list of models that have been tested and verified by the opencode +If you are new to using LLM providers, we recommend using [OpenCode Zen](/docs/zen). +It's a curated list of models that have been tested and verified by the OpenCode team. 1. Run `opencode auth login`, select opencode, and head to [opencode.ai/auth](https://opencode.ai/auth). @@ -149,33 +149,33 @@ you want to work on. cd /path/to/project ``` -And run opencode. +And run OpenCode. ```bash opencode ``` -Next, initialize opencode for the project by running the following command. +Next, initialize OpenCode for the project by running the following command. ```bash frame="none" /init ``` -This will get opencode to analyze your project and create an `AGENTS.md` file in +This will get OpenCode to analyze your project and create an `AGENTS.md` file in the project root. :::tip You should commit your project's `AGENTS.md` file to Git. ::: -This helps opencode understand the project structure and the coding patterns +This helps OpenCode understand the project structure and the coding patterns used. --- ## Usage -You are now ready to use opencode to work on your project. Feel free to ask it +You are now ready to use OpenCode to work on your project. Feel free to ask it anything! If you are new to using an AI coding agent, here are some examples that might @@ -185,7 +185,7 @@ help. ### Ask questions -You can ask opencode to explain the codebase to you. +You can ask OpenCode to explain the codebase to you. :::tip Use the `@` key to fuzzy search for files in the project. @@ -201,11 +201,11 @@ This is helpful if there's a part of the codebase that you didn't work on. ### Add features -You can ask opencode to add new features to your project. Though we first recommend asking it to create a plan. +You can ask OpenCode to add new features to your project. Though we first recommend asking it to create a plan. 1. **Create a plan** - opencode has a _Plan mode_ that disables its ability to make changes and + OpenCode has a _Plan mode_ that disables its ability to make changes and instead suggest _how_ it'll implement the feature. Switch to it using the **Tab** key. You'll see an indicator for this in the lower right corner. @@ -222,11 +222,11 @@ You can ask opencode to add new features to your project. Though we first recomm From this screen, the user can undelete a note or permanently delete it. ``` - You want to give opencode enough details to understand what you want. It helps + You want to give OpenCode enough details to understand what you want. It helps to talk to it like you are talking to a junior developer on your team. :::tip - Give opencode plenty of context and examples to help it understand what you + Give OpenCode plenty of context and examples to help it understand what you want. ::: @@ -243,7 +243,7 @@ You can ask opencode to add new features to your project. Though we first recomm Drag and drop images into the terminal to add them to the prompt. ::: - opencode can scan any images you give it and add them to the prompt. You can + OpenCode can scan any images you give it and add them to the prompt. You can do this by dragging and dropping an image into the terminal. 3. **Build the feature** @@ -265,7 +265,7 @@ You can ask opencode to add new features to your project. Though we first recomm ### Make changes -For more straightforward changes, you can ask opencode to directly build it +For more straightforward changes, you can ask OpenCode to directly build it without having to review the plan first. ```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts" @@ -274,14 +274,14 @@ handled in the /notes route in @packages/functions/src/notes.ts and implement the same logic in @packages/functions/src/settings.ts ``` -You want to make sure you provide a good amount of detail so opencode makes the right +You want to make sure you provide a good amount of detail so OpenCode makes the right changes. --- ### Undo changes -Let's say you ask opencode to make some changes. +Let's say you ask OpenCode to make some changes. ```txt frame="none" "@packages/functions/src/api/index.ts" Can you refactor the function in @packages/functions/src/api/index.ts? @@ -294,14 +294,14 @@ using the `/undo` command. /undo ``` -opencode will now revert the changes you made and show your original message +OpenCode will now revert the changes you made and show your original message again. ```txt frame="none" "@packages/functions/src/api/index.ts" Can you refactor the function in @packages/functions/src/api/index.ts? ``` -From here you can tweak the prompt and ask opencode to try again. +From here you can tweak the prompt and ask OpenCode to try again. :::tip You can run `/undo` multiple times to undo multiple changes. @@ -317,7 +317,7 @@ Or you **can redo** the changes using the `/redo` command. ## Share -The conversations that you have with opencode can be [shared with your +The conversations that you have with OpenCode can be [shared with your team](/docs/share). ```bash frame="none" @@ -330,12 +330,12 @@ This will create a link to the current conversation and copy it to your clipboar Conversations are not shared by default. ::: -Here's an [example conversation](https://opencode.ai/s/4XP1fce5) with opencode. +Here's an [example conversation](https://opencode.ai/s/4XP1fce5) with OpenCode. --- ## Customize -And that's it! You are now a pro at using opencode. +And that's it! You are now a pro at using OpenCode. -To make it your own, we recommend [picking a theme](/docs/themes), [customizing the keybinds](/docs/keybinds), [configuring code formatters](/docs/formatters), [creating custom commands](/docs/commands), or playing around with the [opencode config](/docs/config). +To make it your own, we recommend [picking a theme](/docs/themes), [customizing the keybinds](/docs/keybinds), [configuring code formatters](/docs/formatters), [creating custom commands](/docs/commands), or playing around with the [OpenCode config](/docs/config). diff --git a/packages/web/src/content/docs/keybinds.mdx b/packages/web/src/content/docs/keybinds.mdx index 6fd6148e1..dc47166b4 100644 --- a/packages/web/src/content/docs/keybinds.mdx +++ b/packages/web/src/content/docs/keybinds.mdx @@ -3,7 +3,7 @@ title: Keybinds description: Customize your keybinds. --- -opencode has a list of keybinds that you can customize through the opencode config. +OpenCode has a list of keybinds that you can customize through the OpenCode config. ```json title="opencode.json" { @@ -53,7 +53,7 @@ opencode has a list of keybinds that you can customize through the opencode conf ## Leader key -opencode uses a `leader` key for most keybinds. This avoids conflicts in your terminal. +OpenCode uses a `leader` key for most keybinds. This avoids conflicts in your terminal. By default, `ctrl+x` is the leader key and most actions require you to first press the leader key and then the shortcut. For example, to start a new session you first press `ctrl+x` and then press `n`. diff --git a/packages/web/src/content/docs/lsp.mdx b/packages/web/src/content/docs/lsp.mdx index 95ef436c1..c95445511 100644 --- a/packages/web/src/content/docs/lsp.mdx +++ b/packages/web/src/content/docs/lsp.mdx @@ -1,15 +1,15 @@ --- title: LSP Servers -description: opencode integrates with your LSP servers. +description: OpenCode integrates with your LSP servers. --- -opencode integrates with your Language Server Protocol (LSP) to help the LLM interact with your codebase. It uses diagnostics to provide feedback to the LLM. +OpenCode integrates with your Language Server Protocol (LSP) to help the LLM interact with your codebase. It uses diagnostics to provide feedback to the LLM. --- ## Built-in -opencode comes with several built-in LSP servers for popular languages: +OpenCode comes with several built-in LSP servers for popular languages: | LSP Server | Extensions | Requirements | | ---------- | ---------------------------------------------------- | ----------------------------------- | diff --git a/packages/web/src/content/docs/models.mdx b/packages/web/src/content/docs/models.mdx index b3fc4c28f..e7de73bb2 100644 --- a/packages/web/src/content/docs/models.mdx +++ b/packages/web/src/content/docs/models.mdx @@ -3,13 +3,13 @@ title: Models description: Configuring an LLM provider and model. --- -opencode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models. +OpenCode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models. --- ## Providers -Most popular providers are preloaded by default. If you've added the credentials for a provider through `opencode auth login`, they'll be available when you start opencode. +Most popular providers are preloaded by default. If you've added the credentials for a provider through `opencode auth login`, they'll be available when you start OpenCode. Learn more about [providers](/docs/providers). @@ -35,10 +35,10 @@ Consider using one of the models we recommend. However, there are a only a few of them that are good at both generating code and tool calling. -Here are the ones we recommend with opencode: +Here are the ones we recommend with OpenCode: -- Claude Sonnet 4 -- Claude Opus 4 +- Claude Sonnet 4.5 +- Claude Opus 4.1 - Kimi K2 - Qwen3 Coder - GPT 4.1 @@ -49,7 +49,7 @@ Here are the ones we recommend with opencode: ## Set a default To set one of these as the default model, you can set the `model` key in your -opencode config. +OpenCode config. ```json title="opencode.json" {3} { @@ -86,7 +86,7 @@ You can globally configure a model's options through the config. }, "anthropic": { "models": { - "claude-sonnet-4-20250514": { + "claude-sonnet-4-5-20250929": { "options": { "thinking": { "type": "enabled", @@ -139,11 +139,11 @@ You can also define custom models that extend built-in ones and can optionally u ## Loading models -When opencode starts up, it checks for models in the following priority order: +When OpenCode starts up, it checks for models in the following priority order: 1. The `--model` or `-m` command line flag. The format is the same as in the config file: `provider_id/model_id`. -2. The model list in the opencode config. +2. The model list in the OpenCode config. ```json title="opencode.json" { diff --git a/packages/web/src/content/docs/plugins.mdx b/packages/web/src/content/docs/plugins.mdx index 47f53fddf..bfcf1ed87 100644 --- a/packages/web/src/content/docs/plugins.mdx +++ b/packages/web/src/content/docs/plugins.mdx @@ -1,9 +1,9 @@ --- title: Plugins -description: Write your own plugins to extend opencode. +description: Write your own plugins to extend OpenCode. --- -Plugins allow you to extend opencode by hooking into various events and customizing behavior. You can create plugins to add new features, integrate with external services, or modify opencode's default behavior. +Plugins allow you to extend OpenCode by hooking into various events and customizing behavior. You can create plugins to add new features, integrate with external services, or modify OpenCode's default behavior. --- diff --git a/packages/web/src/content/docs/providers.mdx b/packages/web/src/content/docs/providers.mdx index 10e0de2d3..30e93d0ce 100644 --- a/packages/web/src/content/docs/providers.mdx +++ b/packages/web/src/content/docs/providers.mdx @@ -1,17 +1,17 @@ --- title: Providers -description: Using any LLM provider in opencode. +description: Using any LLM provider in OpenCode. --- import config from "../../../config.mjs" export const console = config.console -opencode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models. +OpenCode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models. To add a provider you need to: 1. Add the API keys for the provider using `opencode auth login`. -2. Configure the provider in your opencode config. +2. Configure the provider in your OpenCode config. --- @@ -24,7 +24,7 @@ in `~/.local/share/opencode/auth.json`. ### Config -You can customize the providers through the `provider` section in your opencode +You can customize the providers through the `provider` section in your OpenCode config. --- @@ -48,13 +48,13 @@ You can customize the base URL for any provider by setting the `baseURL` option. --- -## opencode zen +## OpenCode Zen -opencode zen is a list of models provided by the opencode team that have been -tested and verified to work well with opencode. [Learn more](/docs/zen). +OpenCode Zen is a list of models provided by the OpenCode team that have been +tested and verified to work well with OpenCode. [Learn more](/docs/zen). :::tip -If you are new, we recommend starting with opencode zen. +If you are new, we recommend starting with OpenCode Zen. ::: 1. Run `opencode auth login`, select opencode, and head to [opencode.ai/auth](https://opencode.ai/auth). @@ -78,7 +78,7 @@ If you are new, we recommend starting with opencode zen. 4. Run `/models` in the TUI to see the list of models we recommend. -It works like any other provider in opencode. And is completely optional to use +It works like any other provider in OpenCode. And is completely optional to use it. --- @@ -96,7 +96,7 @@ Don't see a provider here? Submit a PR. ### Amazon Bedrock -To use Amazon Bedrock with opencode: +To use Amazon Bedrock with OpenCode: 1. Head over to the **Model catalog** in the Amazon Bedrock console and request access to the models you want. @@ -564,13 +564,13 @@ In this example: --- -### opencode zen +### OpenCode Zen -opencode zen is a list of tested and verified models provided by the opencode team. [Learn more](/docs/zen). +OpenCode Zen is a list of tested and verified models provided by the OpenCode team. [Learn more](/docs/zen). -1. Sign in to **opencode zen** and click **Create API Key**. +1. Sign in to **OpenCode Zen** and click **Create API Key**. -2. Run `opencode auth login` and select **opencode zen**. +2. Run `opencode auth login` and select **OpenCode Zen**. ```bash $ opencode auth login @@ -578,12 +578,12 @@ opencode zen is a list of tested and verified models provided by the opencode te ┌ Add credential │ ◆ Select provider - │ ● opencode zen + │ ● OpenCode Zen │ ... └ ``` -3. Enter your opencode API key. +3. Enter your OpenCode API key. ```bash $ opencode auth login @@ -591,7 +591,7 @@ opencode zen is a list of tested and verified models provided by the opencode te ┌ Add credential │ ◇ Select provider - │ opencode zen + │ OpenCode Zen │ ◇ Enter your API key │ _ diff --git a/packages/web/src/content/docs/server.mdx b/packages/web/src/content/docs/server.mdx index 2eea2ba74..e1d026221 100644 --- a/packages/web/src/content/docs/server.mdx +++ b/packages/web/src/content/docs/server.mdx @@ -46,7 +46,7 @@ opencode TUI running, `opencode serve` will start a new server. When you start the TUI it randomly assigns a port and hostname. You can instead pass in the `--hostname` and `--port` [flags](/docs/cli). Then use this to connect to its server. -The [`/tui`](#tui) endpoint can be used to drive the TUI through the server. For example, you can prefill or run a prompt. This setup is used by the opencode [IDE](/docs/ide) plugins. +The [`/tui`](#tui) endpoint can be used to drive the TUI through the server. For example, you can prefill or run a prompt. This setup is used by the OpenCode [IDE](/docs/ide) plugins. --- diff --git a/packages/web/src/content/docs/share.mdx b/packages/web/src/content/docs/share.mdx index efb54c2d5..ec59dc824 100644 --- a/packages/web/src/content/docs/share.mdx +++ b/packages/web/src/content/docs/share.mdx @@ -1,9 +1,9 @@ --- title: Share -description: Share your opencode conversations. +description: Share your OpenCode conversations. --- -opencode's share feature allows you to create public links to your opencode conversations, so you can collaborate with teammates or get help from others. +OpenCode's share feature allows you to create public links to your OpenCode conversations, so you can collaborate with teammates or get help from others. :::note Shared conversations are publicly accessible to anyone with the link. @@ -13,7 +13,7 @@ Shared conversations are publicly accessible to anyone with the link. ## How it works -When you share a conversation, opencode: +When you share a conversation, OpenCode: 1. Creates a unique public URL for your session 2. Syncs your conversation history to our servers @@ -23,13 +23,13 @@ When you share a conversation, opencode: ## Sharing -opencode supports three sharing modes that control how conversations are shared: +OpenCode supports three sharing modes that control how conversations are shared: --- ### Manual (default) -By default, opencode uses manual sharing mode. Sessions are not shared automatically, but you can manually share them using the `/share` command: +By default, OpenCode uses manual sharing mode. Sessions are not shared automatically, but you can manually share them using the `/share` command: ``` /share diff --git a/packages/web/src/content/docs/themes.mdx b/packages/web/src/content/docs/themes.mdx index 0a2a62517..096976bf3 100644 --- a/packages/web/src/content/docs/themes.mdx +++ b/packages/web/src/content/docs/themes.mdx @@ -3,9 +3,9 @@ title: Themes description: Select a built-in theme or define your own. --- -With opencode you can select from one of several built-in themes, use a theme that adapts to your terminal theme, or define your own custom theme. +With OpenCode you can select from one of several built-in themes, use a theme that adapts to your terminal theme, or define your own custom theme. -By default, opencode uses our own `opencode` theme. +By default, OpenCode uses our own `opencode` theme. --- @@ -23,7 +23,7 @@ Without truecolor support, themes may appear with reduced color accuracy or fall ## Built-in themes -opencode comes with several built-in themes. +OpenCode comes with several built-in themes. | Name | Description | | ------------ | ---------------------------------------------------------------------------- | @@ -52,7 +52,7 @@ The `system` theme is designed to automatically adapt to your terminal's color s The system theme is for users who: -- Want opencode to match their terminal's appearance +- Want OpenCode to match their terminal's appearance - Use custom terminal color schemes - Prefer a consistent look across all terminal applications @@ -73,7 +73,7 @@ You can select a theme by bringing up the theme select with the `/theme` command ## Custom themes -opencode supports a flexible JSON-based theme system that allows users to create and customize themes easily. +OpenCode supports a flexible JSON-based theme system that allows users to create and customize themes easily. --- diff --git a/packages/web/src/content/docs/troubleshooting.mdx b/packages/web/src/content/docs/troubleshooting.mdx index 57fbfe088..98615823a 100644 --- a/packages/web/src/content/docs/troubleshooting.mdx +++ b/packages/web/src/content/docs/troubleshooting.mdx @@ -3,7 +3,7 @@ title: Troubleshooting description: Common issues and how to resolve them. --- -To debug any issues with opencode, you can check the logs or the session data +To debug any issues with OpenCode, you can check the logs or the session data that it stores locally. --- @@ -40,7 +40,7 @@ This directory contains: ## Getting help -If you're experiencing issues with opencode: +If you're experiencing issues with OpenCode: 1. **Report issues on GitHub** diff --git a/packages/web/src/content/docs/tui.mdx b/packages/web/src/content/docs/tui.mdx index edd0013de..4dd7608be 100644 --- a/packages/web/src/content/docs/tui.mdx +++ b/packages/web/src/content/docs/tui.mdx @@ -1,13 +1,13 @@ --- title: TUI -description: Using the opencode terminal user interface. +description: Using the OpenCode terminal user interface. --- import { Tabs, TabItem } from "@astrojs/starlight/components" -opencode provides an interactive terminal interface or TUI for working on your projects with an LLM. +OpenCode provides an interactive terminal interface or TUI for working on your projects with an LLM. -Running opencode starts the TUI for the current directory. +Running OpenCode starts the TUI for the current directory. ```bash opencode @@ -57,7 +57,7 @@ The output of the command is added to the conversation as a tool result. ## Commands -When using the opencode TUI, you can type `/` followed by a command name to quickly execute actions. For example: +When using the OpenCode TUI, you can type `/` followed by a command name to quickly execute actions. For example: ```bash frame="none" /help @@ -107,7 +107,7 @@ Open external editor for composing messages. Uses the editor set in your `EDITOR ### exit -Exit opencode. _Aliases_: `/quit`, `/q` +Exit OpenCode. _Aliases_: `/quit`, `/q` ```bash frame="none" /exit @@ -330,7 +330,7 @@ Some editors need command-line arguments to run in blocking mode. The `--wait` f ## Configure -You can customize TUI behavior through your opencode config file. +You can customize TUI behavior through your OpenCode config file. ```json title="opencode.json" { diff --git a/packages/web/src/content/docs/zen.mdx b/packages/web/src/content/docs/zen.mdx index 0b7d12642..0ccfbedd2 100644 --- a/packages/web/src/content/docs/zen.mdx +++ b/packages/web/src/content/docs/zen.mdx @@ -1,21 +1,21 @@ --- title: Zen -description: Curated list of models provided by opencode. +description: Curated list of models provided by OpenCode. --- import config from "../../../config.mjs" export const console = config.console export const email = `mailto:${config.email}` -opencode zen is a list of tested and verified models provided by the opencode team. +OpenCode Zen is a list of tested and verified models provided by the OpenCode team. :::note -opencode zen is currently in beta. +OpenCode Zen is currently in beta. ::: -Zen works like any other provider in opencode. You login to opencode zen and get +Zen works like any other provider in OpenCode. You login to OpenCode Zen and get your API key. It's **completely optional** and you don't need to use it to use -opencode. +OpenCode. --- @@ -26,7 +26,7 @@ these models work well as coding agents. Additionally, most providers are configured very differently; so you get very different performance and quality. :::tip -We tested a select group of models and providers that work well with opencode. +We tested a select group of models and providers that work well with OpenCode. ::: So if you are using a model through something like OpenRouter, you can never be @@ -41,15 +41,15 @@ To fix this, we did a couple of things: 3. Finally, we benchmarked the combination of the model/provider and came up with a list that we feel good recommending. -opencode zen is an AI gateway that gives you access to these models. +OpenCode Zen is an AI gateway that gives you access to these models. --- ## How it works -opencode zen works like any other provider in opencode. +OpenCode Zen works like any other provider in OpenCode. -1. You sign in to **opencode zen**, add your billing +1. You sign in to **OpenCode Zen**, add your billing details, and copy your API key. 2. You run `opencode auth login`, select opencode, and paste your API key. 3. Run `/models` in the TUI to see the list of models we recommend. @@ -95,13 +95,13 @@ We support a pay-as-you-go model. Below are the prices **per 1M tokens**. | GPT 5 Codex | $1.25 | $10.00 | $0.125 | - | :::note -Credit card fees are passed along at cost; we don’t charge anything beyond that. +Credit card fees are passed along at cost; we don't charge anything beyond that. ::: The free models: -- Grok Code Fast 1 is currently free on opencode for a limited time. The xAI team is using this time to collect feedback and improve Grok Code. -- Code Supernova is a stealth model that's free on opencode for a limited time. The team is using this time to collect feedback and improve the model. +- Grok Code Fast 1 is currently free on OpenCode for a limited time. The xAI team is using this time to collect feedback and improve Grok Code. +- Code Supernova is a stealth model that's free on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. :::tip Subscription plans and a free tier are coming soon. @@ -125,9 +125,9 @@ All our models are hosted in the US. Our providers follow a zero-retention polic ## Goals -We created opencode zen to: +We created OpenCode Zen to: 1. **Benchmark** the best models/providers for coding agents. 2. Have access to the **highest quality** options and not downgrade performance or route to cheaper providers. 3. Pass along any **price drops** by selling at cost; so the only markup is to cover our processing fees. -4. Have **no lock-in** by allowing you to use it with any other coding agent. And always let you use any other provider with opencode as well. +4. Have **no lock-in** by allowing you to use it with any other coding agent. And always let you use any other provider with OpenCode as well. diff --git a/script/publish.ts b/script/publish.ts index ea2d06630..d6bad706b 100755 --- a/script/publish.ts +++ b/script/publish.ts @@ -84,6 +84,7 @@ if (!snapshot) { notes.push(line) } } + console.log(notes) server.close() } diff --git a/sdks/vscode/package.json b/sdks/vscode/package.json index 8ee62545d..4e01421ad 100644 --- a/sdks/vscode/package.json +++ b/sdks/vscode/package.json @@ -2,7 +2,7 @@ "name": "opencode", "displayName": "opencode", "description": "opencode for VS Code", - "version": "0.14.0", + "version": "0.14.1", "publisher": "sst-dev", "repository": { "type": "git",