Adam 6 месяцев назад
Родитель
Сommit
3fa280d218
100 измененных файлов с 50 добавлено и 50 удалено
  1. 48 48
      bun.lock
  2. 1 1
      infra/desktop.ts
  3. 0 0
      packages/desktop/.gitignore
  4. 0 0
      packages/desktop/AGENTS.md
  5. 0 0
      packages/desktop/README.md
  6. 0 0
      packages/desktop/index.html
  7. 1 1
      packages/desktop/package.json
  8. 0 0
      packages/desktop/scripts/vite-theme-plugin.ts
  9. 0 0
      packages/desktop/src/assets/favicon.svg
  10. 0 0
      packages/desktop/src/assets/file-icons/3d.svg
  11. 0 0
      packages/desktop/src/assets/file-icons/abap.svg
  12. 0 0
      packages/desktop/src/assets/file-icons/abc.svg
  13. 0 0
      packages/desktop/src/assets/file-icons/actionscript.svg
  14. 0 0
      packages/desktop/src/assets/file-icons/ada.svg
  15. 0 0
      packages/desktop/src/assets/file-icons/adobe-illustrator.svg
  16. 0 0
      packages/desktop/src/assets/file-icons/adobe-illustrator_light.svg
  17. 0 0
      packages/desktop/src/assets/file-icons/adobe-photoshop.svg
  18. 0 0
      packages/desktop/src/assets/file-icons/adobe-photoshop_light.svg
  19. 0 0
      packages/desktop/src/assets/file-icons/adobe-swc.svg
  20. 0 0
      packages/desktop/src/assets/file-icons/adonis.svg
  21. 0 0
      packages/desktop/src/assets/file-icons/advpl.svg
  22. 0 0
      packages/desktop/src/assets/file-icons/amplify.svg
  23. 0 0
      packages/desktop/src/assets/file-icons/android.svg
  24. 0 0
      packages/desktop/src/assets/file-icons/angular.svg
  25. 0 0
      packages/desktop/src/assets/file-icons/antlr.svg
  26. 0 0
      packages/desktop/src/assets/file-icons/apiblueprint.svg
  27. 0 0
      packages/desktop/src/assets/file-icons/apollo.svg
  28. 0 0
      packages/desktop/src/assets/file-icons/applescript.svg
  29. 0 0
      packages/desktop/src/assets/file-icons/apps-script.svg
  30. 0 0
      packages/desktop/src/assets/file-icons/appveyor.svg
  31. 0 0
      packages/desktop/src/assets/file-icons/architecture.svg
  32. 0 0
      packages/desktop/src/assets/file-icons/arduino.svg
  33. 0 0
      packages/desktop/src/assets/file-icons/asciidoc.svg
  34. 0 0
      packages/desktop/src/assets/file-icons/assembly.svg
  35. 0 0
      packages/desktop/src/assets/file-icons/astro-config.svg
  36. 0 0
      packages/desktop/src/assets/file-icons/astro.svg
  37. 0 0
      packages/desktop/src/assets/file-icons/astyle.svg
  38. 0 0
      packages/desktop/src/assets/file-icons/audio.svg
  39. 0 0
      packages/desktop/src/assets/file-icons/aurelia.svg
  40. 0 0
      packages/desktop/src/assets/file-icons/authors.svg
  41. 0 0
      packages/desktop/src/assets/file-icons/auto.svg
  42. 0 0
      packages/desktop/src/assets/file-icons/auto_light.svg
  43. 0 0
      packages/desktop/src/assets/file-icons/autohotkey.svg
  44. 0 0
      packages/desktop/src/assets/file-icons/autoit.svg
  45. 0 0
      packages/desktop/src/assets/file-icons/azure-pipelines.svg
  46. 0 0
      packages/desktop/src/assets/file-icons/azure.svg
  47. 0 0
      packages/desktop/src/assets/file-icons/babel.svg
  48. 0 0
      packages/desktop/src/assets/file-icons/ballerina.svg
  49. 0 0
      packages/desktop/src/assets/file-icons/bazel.svg
  50. 0 0
      packages/desktop/src/assets/file-icons/bbx.svg
  51. 0 0
      packages/desktop/src/assets/file-icons/beancount.svg
  52. 0 0
      packages/desktop/src/assets/file-icons/bench-js.svg
  53. 0 0
      packages/desktop/src/assets/file-icons/bench-jsx.svg
  54. 0 0
      packages/desktop/src/assets/file-icons/bench-ts.svg
  55. 0 0
      packages/desktop/src/assets/file-icons/bibliography.svg
  56. 0 0
      packages/desktop/src/assets/file-icons/bibtex-style.svg
  57. 0 0
      packages/desktop/src/assets/file-icons/bicep.svg
  58. 0 0
      packages/desktop/src/assets/file-icons/biome.svg
  59. 0 0
      packages/desktop/src/assets/file-icons/bitbucket.svg
  60. 0 0
      packages/desktop/src/assets/file-icons/bithound.svg
  61. 0 0
      packages/desktop/src/assets/file-icons/blender.svg
  62. 0 0
      packages/desktop/src/assets/file-icons/blink.svg
  63. 0 0
      packages/desktop/src/assets/file-icons/blink_light.svg
  64. 0 0
      packages/desktop/src/assets/file-icons/blitz.svg
  65. 0 0
      packages/desktop/src/assets/file-icons/bower.svg
  66. 0 0
      packages/desktop/src/assets/file-icons/brainfuck.svg
  67. 0 0
      packages/desktop/src/assets/file-icons/browserlist.svg
  68. 0 0
      packages/desktop/src/assets/file-icons/browserlist_light.svg
  69. 0 0
      packages/desktop/src/assets/file-icons/bruno.svg
  70. 0 0
      packages/desktop/src/assets/file-icons/buck.svg
  71. 0 0
      packages/desktop/src/assets/file-icons/bucklescript.svg
  72. 0 0
      packages/desktop/src/assets/file-icons/buildkite.svg
  73. 0 0
      packages/desktop/src/assets/file-icons/bun.svg
  74. 0 0
      packages/desktop/src/assets/file-icons/bun_light.svg
  75. 0 0
      packages/desktop/src/assets/file-icons/c.svg
  76. 0 0
      packages/desktop/src/assets/file-icons/c3.svg
  77. 0 0
      packages/desktop/src/assets/file-icons/cabal.svg
  78. 0 0
      packages/desktop/src/assets/file-icons/caddy.svg
  79. 0 0
      packages/desktop/src/assets/file-icons/cadence.svg
  80. 0 0
      packages/desktop/src/assets/file-icons/cairo.svg
  81. 0 0
      packages/desktop/src/assets/file-icons/cake.svg
  82. 0 0
      packages/desktop/src/assets/file-icons/capacitor.svg
  83. 0 0
      packages/desktop/src/assets/file-icons/capnp.svg
  84. 0 0
      packages/desktop/src/assets/file-icons/cbx.svg
  85. 0 0
      packages/desktop/src/assets/file-icons/cds.svg
  86. 0 0
      packages/desktop/src/assets/file-icons/certificate.svg
  87. 0 0
      packages/desktop/src/assets/file-icons/changelog.svg
  88. 0 0
      packages/desktop/src/assets/file-icons/chess.svg
  89. 0 0
      packages/desktop/src/assets/file-icons/chess_light.svg
  90. 0 0
      packages/desktop/src/assets/file-icons/chrome.svg
  91. 0 0
      packages/desktop/src/assets/file-icons/circleci.svg
  92. 0 0
      packages/desktop/src/assets/file-icons/circleci_light.svg
  93. 0 0
      packages/desktop/src/assets/file-icons/citation.svg
  94. 0 0
      packages/desktop/src/assets/file-icons/clangd.svg
  95. 0 0
      packages/desktop/src/assets/file-icons/claude.svg
  96. 0 0
      packages/desktop/src/assets/file-icons/cline.svg
  97. 0 0
      packages/desktop/src/assets/file-icons/clojure.svg
  98. 0 0
      packages/desktop/src/assets/file-icons/cloudfoundry.svg
  99. 0 0
      packages/desktop/src/assets/file-icons/cmake.svg
  100. 0 0
      packages/desktop/src/assets/file-icons/coala.svg

+ 48 - 48
bun.lock

@@ -10,40 +10,6 @@
         "turbo": "2.5.6",
       },
     },
-    "packages/app": {
-      "name": "@opencode/app",
-      "version": "0.14.1",
-      "dependencies": {
-        "@kobalte/core": "catalog:",
-        "@opencode-ai/sdk": "workspace:*",
-        "@shikijs/transformers": "3.9.2",
-        "@solid-primitives/event-bus": "1.1.2",
-        "@solid-primitives/resize-observer": "2.1.3",
-        "@solid-primitives/scroll": "2.1.3",
-        "@solidjs/router": "0.15.3",
-        "@thisbeyond/solid-dnd": "0.7.5",
-        "diff": "8.0.2",
-        "fuzzysort": "catalog:",
-        "luxon": "catalog:",
-        "marked": "16.2.0",
-        "marked-shiki": "1.2.1",
-        "remeda": "catalog:",
-        "shiki": "3.9.2",
-        "solid-js": "catalog:",
-        "solid-list": "0.3.0",
-        "tailwindcss": "4.1.11",
-        "virtua": "0.42.3",
-      },
-      "devDependencies": {
-        "@tailwindcss/vite": "4.1.11",
-        "@types/luxon": "3.7.1",
-        "@types/node": "catalog:",
-        "typescript": "catalog:",
-        "vite": "^6.0.0",
-        "vite-plugin-icons-spritesheet": "3.0.1",
-        "vite-plugin-solid": "^2.11.6",
-      },
-    },
     "packages/console/app": {
       "name": "@opencode/console-app",
       "dependencies": {
@@ -127,6 +93,40 @@
         "typescript": "catalog:",
       },
     },
+    "packages/desktop": {
+      "name": "@opencode/desktop",
+      "version": "0.14.1",
+      "dependencies": {
+        "@kobalte/core": "catalog:",
+        "@opencode-ai/sdk": "workspace:*",
+        "@shikijs/transformers": "3.9.2",
+        "@solid-primitives/event-bus": "1.1.2",
+        "@solid-primitives/resize-observer": "2.1.3",
+        "@solid-primitives/scroll": "2.1.3",
+        "@solidjs/router": "0.15.3",
+        "@thisbeyond/solid-dnd": "0.7.5",
+        "diff": "8.0.2",
+        "fuzzysort": "catalog:",
+        "luxon": "catalog:",
+        "marked": "16.2.0",
+        "marked-shiki": "1.2.1",
+        "remeda": "catalog:",
+        "shiki": "3.9.2",
+        "solid-js": "catalog:",
+        "solid-list": "0.3.0",
+        "tailwindcss": "4.1.11",
+        "virtua": "0.42.3",
+      },
+      "devDependencies": {
+        "@tailwindcss/vite": "4.1.11",
+        "@types/luxon": "3.7.1",
+        "@types/node": "catalog:",
+        "typescript": "catalog:",
+        "vite": "^6.0.0",
+        "vite-plugin-icons-spritesheet": "3.0.1",
+        "vite-plugin-solid": "^2.11.6",
+      },
+    },
     "packages/function": {
       "name": "@opencode/function",
       "version": "0.14.1",
@@ -370,7 +370,7 @@
 
     "@aws-sdk/util-user-agent-node": ["@aws-sdk/[email protected]", "", { "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/[email protected]7.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/[email protected]6.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/[email protected]", "", {}, "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw=="],
 
@@ -746,8 +746,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"],
@@ -760,6 +758,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"],
@@ -1388,7 +1388,7 @@
 
     "ccount": ["[email protected]", "", {}, "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": ["[email protected]", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="],
 
@@ -3028,6 +3028,8 @@
 
     "@aws-crypto/util/@smithy/util-utf8": ["@smithy/[email protected]", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="],
 
+    "@babel/core/@babel/code-frame": ["@babel/[email protected]", "", { "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": ["[email protected]", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
 
     "@babel/helper-compilation-targets/lru-cache": ["[email protected]", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="],
@@ -3036,14 +3038,16 @@
 
     "@babel/helper-create-class-features-plugin/semver": ["[email protected]", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
 
+    "@babel/template/@babel/code-frame": ["@babel/[email protected]", "", { "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/[email protected]", "", { "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": ["[email protected]", "", { "bin": { "mime": "cli.js" } }, "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="],
 
     "@cloudflare/unenv-preset/unenv": ["[email protected]", "", { "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/[email protected]", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="],
 
-    "@dot/log/chalk": ["[email protected]", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
-
     "@esbuild-kit/core-utils/esbuild": ["[email protected]", "", { "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": ["[email protected]", "", { "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=="],
@@ -3054,8 +3058,6 @@
 
     "@isaacs/cliui/wrap-ansi": ["[email protected]", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
 
-    "@jsx-email/cli/chalk": ["[email protected]", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
-
     "@jsx-email/cli/esbuild": ["[email protected]", "", { "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": ["[email protected]", "", { "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=="],
@@ -3140,12 +3142,8 @@
 
     "@tailwindcss/oxide-wasm32-wasi/tslib": ["[email protected]", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
 
-    "@tanstack/directive-functions-plugin/@babel/code-frame": ["@babel/[email protected]", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="],
-
     "@tanstack/router-utils/pathe": ["[email protected]", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
 
-    "@tanstack/server-functions-plugin/@babel/code-frame": ["@babel/[email protected]", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="],
-
     "@vercel/nft/estree-walker": ["[email protected]", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
 
     "@vercel/nft/glob": ["[email protected]", "", { "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=="],
@@ -3182,6 +3180,8 @@
 
     "body-parser/iconv-lite": ["[email protected]", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
 
+    "boxen/chalk": ["[email protected]", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="],
+
     "compress-commons/is-stream": ["[email protected]", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="],
 
     "condense-newlines/kind-of": ["[email protected]", "", { "dependencies": { "is-buffer": "^1.1.5" } }, "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="],
@@ -3198,8 +3198,6 @@
 
     "editorconfig/minimatch": ["[email protected]", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w=="],
 
-    "esbuild-plugin-copy/chalk": ["[email protected]", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
-
     "esbuild-plugin-copy/chokidar": ["[email protected]", "", { "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": ["[email protected]", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="],
@@ -3394,6 +3392,8 @@
 
     "vinxi/zod": ["[email protected]", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],
 
+    "vite-plugin-icons-spritesheet/chalk": ["[email protected]", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="],
+
     "wrangler/esbuild": ["[email protected]", "", { "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": ["[email protected]", "", { "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=="],

+ 1 - 1
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",

+ 0 - 0
packages/app/.gitignore → packages/desktop/.gitignore


+ 0 - 0
packages/app/AGENTS.md → packages/desktop/AGENTS.md


+ 0 - 0
packages/app/README.md → packages/desktop/README.md


+ 0 - 0
packages/app/index.html → packages/desktop/index.html


+ 1 - 1
packages/app/package.json → packages/desktop/package.json

@@ -1,5 +1,5 @@
 {
-  "name": "@opencode/app",
+  "name": "@opencode/desktop",
   "version": "0.14.1",
   "description": "",
   "type": "module",

+ 0 - 0
packages/app/scripts/vite-theme-plugin.ts → packages/desktop/scripts/vite-theme-plugin.ts


+ 0 - 0
packages/app/src/assets/favicon.svg → packages/desktop/src/assets/favicon.svg


+ 0 - 0
packages/app/src/assets/file-icons/3d.svg → packages/desktop/src/assets/file-icons/3d.svg


+ 0 - 0
packages/app/src/assets/file-icons/abap.svg → packages/desktop/src/assets/file-icons/abap.svg


+ 0 - 0
packages/app/src/assets/file-icons/abc.svg → packages/desktop/src/assets/file-icons/abc.svg


+ 0 - 0
packages/app/src/assets/file-icons/actionscript.svg → packages/desktop/src/assets/file-icons/actionscript.svg


+ 0 - 0
packages/app/src/assets/file-icons/ada.svg → packages/desktop/src/assets/file-icons/ada.svg


+ 0 - 0
packages/app/src/assets/file-icons/adobe-illustrator.svg → packages/desktop/src/assets/file-icons/adobe-illustrator.svg


+ 0 - 0
packages/app/src/assets/file-icons/adobe-illustrator_light.svg → packages/desktop/src/assets/file-icons/adobe-illustrator_light.svg


+ 0 - 0
packages/app/src/assets/file-icons/adobe-photoshop.svg → packages/desktop/src/assets/file-icons/adobe-photoshop.svg


+ 0 - 0
packages/app/src/assets/file-icons/adobe-photoshop_light.svg → packages/desktop/src/assets/file-icons/adobe-photoshop_light.svg


+ 0 - 0
packages/app/src/assets/file-icons/adobe-swc.svg → packages/desktop/src/assets/file-icons/adobe-swc.svg


+ 0 - 0
packages/app/src/assets/file-icons/adonis.svg → packages/desktop/src/assets/file-icons/adonis.svg


+ 0 - 0
packages/app/src/assets/file-icons/advpl.svg → packages/desktop/src/assets/file-icons/advpl.svg


+ 0 - 0
packages/app/src/assets/file-icons/amplify.svg → packages/desktop/src/assets/file-icons/amplify.svg


+ 0 - 0
packages/app/src/assets/file-icons/android.svg → packages/desktop/src/assets/file-icons/android.svg


+ 0 - 0
packages/app/src/assets/file-icons/angular.svg → packages/desktop/src/assets/file-icons/angular.svg


+ 0 - 0
packages/app/src/assets/file-icons/antlr.svg → packages/desktop/src/assets/file-icons/antlr.svg


+ 0 - 0
packages/app/src/assets/file-icons/apiblueprint.svg → packages/desktop/src/assets/file-icons/apiblueprint.svg


+ 0 - 0
packages/app/src/assets/file-icons/apollo.svg → packages/desktop/src/assets/file-icons/apollo.svg


+ 0 - 0
packages/app/src/assets/file-icons/applescript.svg → packages/desktop/src/assets/file-icons/applescript.svg


+ 0 - 0
packages/app/src/assets/file-icons/apps-script.svg → packages/desktop/src/assets/file-icons/apps-script.svg


+ 0 - 0
packages/app/src/assets/file-icons/appveyor.svg → packages/desktop/src/assets/file-icons/appveyor.svg


+ 0 - 0
packages/app/src/assets/file-icons/architecture.svg → packages/desktop/src/assets/file-icons/architecture.svg


+ 0 - 0
packages/app/src/assets/file-icons/arduino.svg → packages/desktop/src/assets/file-icons/arduino.svg


+ 0 - 0
packages/app/src/assets/file-icons/asciidoc.svg → packages/desktop/src/assets/file-icons/asciidoc.svg


+ 0 - 0
packages/app/src/assets/file-icons/assembly.svg → packages/desktop/src/assets/file-icons/assembly.svg


+ 0 - 0
packages/app/src/assets/file-icons/astro-config.svg → packages/desktop/src/assets/file-icons/astro-config.svg


+ 0 - 0
packages/app/src/assets/file-icons/astro.svg → packages/desktop/src/assets/file-icons/astro.svg


+ 0 - 0
packages/app/src/assets/file-icons/astyle.svg → packages/desktop/src/assets/file-icons/astyle.svg


+ 0 - 0
packages/app/src/assets/file-icons/audio.svg → packages/desktop/src/assets/file-icons/audio.svg


+ 0 - 0
packages/app/src/assets/file-icons/aurelia.svg → packages/desktop/src/assets/file-icons/aurelia.svg


+ 0 - 0
packages/app/src/assets/file-icons/authors.svg → packages/desktop/src/assets/file-icons/authors.svg


+ 0 - 0
packages/app/src/assets/file-icons/auto.svg → packages/desktop/src/assets/file-icons/auto.svg


+ 0 - 0
packages/app/src/assets/file-icons/auto_light.svg → packages/desktop/src/assets/file-icons/auto_light.svg


+ 0 - 0
packages/app/src/assets/file-icons/autohotkey.svg → packages/desktop/src/assets/file-icons/autohotkey.svg


+ 0 - 0
packages/app/src/assets/file-icons/autoit.svg → packages/desktop/src/assets/file-icons/autoit.svg


+ 0 - 0
packages/app/src/assets/file-icons/azure-pipelines.svg → packages/desktop/src/assets/file-icons/azure-pipelines.svg


+ 0 - 0
packages/app/src/assets/file-icons/azure.svg → packages/desktop/src/assets/file-icons/azure.svg


+ 0 - 0
packages/app/src/assets/file-icons/babel.svg → packages/desktop/src/assets/file-icons/babel.svg


+ 0 - 0
packages/app/src/assets/file-icons/ballerina.svg → packages/desktop/src/assets/file-icons/ballerina.svg


+ 0 - 0
packages/app/src/assets/file-icons/bazel.svg → packages/desktop/src/assets/file-icons/bazel.svg


+ 0 - 0
packages/app/src/assets/file-icons/bbx.svg → packages/desktop/src/assets/file-icons/bbx.svg


+ 0 - 0
packages/app/src/assets/file-icons/beancount.svg → packages/desktop/src/assets/file-icons/beancount.svg


+ 0 - 0
packages/app/src/assets/file-icons/bench-js.svg → packages/desktop/src/assets/file-icons/bench-js.svg


+ 0 - 0
packages/app/src/assets/file-icons/bench-jsx.svg → packages/desktop/src/assets/file-icons/bench-jsx.svg


+ 0 - 0
packages/app/src/assets/file-icons/bench-ts.svg → packages/desktop/src/assets/file-icons/bench-ts.svg


+ 0 - 0
packages/app/src/assets/file-icons/bibliography.svg → packages/desktop/src/assets/file-icons/bibliography.svg


+ 0 - 0
packages/app/src/assets/file-icons/bibtex-style.svg → packages/desktop/src/assets/file-icons/bibtex-style.svg


+ 0 - 0
packages/app/src/assets/file-icons/bicep.svg → packages/desktop/src/assets/file-icons/bicep.svg


+ 0 - 0
packages/app/src/assets/file-icons/biome.svg → packages/desktop/src/assets/file-icons/biome.svg


+ 0 - 0
packages/app/src/assets/file-icons/bitbucket.svg → packages/desktop/src/assets/file-icons/bitbucket.svg


+ 0 - 0
packages/app/src/assets/file-icons/bithound.svg → packages/desktop/src/assets/file-icons/bithound.svg


+ 0 - 0
packages/app/src/assets/file-icons/blender.svg → packages/desktop/src/assets/file-icons/blender.svg


+ 0 - 0
packages/app/src/assets/file-icons/blink.svg → packages/desktop/src/assets/file-icons/blink.svg


+ 0 - 0
packages/app/src/assets/file-icons/blink_light.svg → packages/desktop/src/assets/file-icons/blink_light.svg


+ 0 - 0
packages/app/src/assets/file-icons/blitz.svg → packages/desktop/src/assets/file-icons/blitz.svg


+ 0 - 0
packages/app/src/assets/file-icons/bower.svg → packages/desktop/src/assets/file-icons/bower.svg


+ 0 - 0
packages/app/src/assets/file-icons/brainfuck.svg → packages/desktop/src/assets/file-icons/brainfuck.svg


+ 0 - 0
packages/app/src/assets/file-icons/browserlist.svg → packages/desktop/src/assets/file-icons/browserlist.svg


+ 0 - 0
packages/app/src/assets/file-icons/browserlist_light.svg → packages/desktop/src/assets/file-icons/browserlist_light.svg


+ 0 - 0
packages/app/src/assets/file-icons/bruno.svg → packages/desktop/src/assets/file-icons/bruno.svg


+ 0 - 0
packages/app/src/assets/file-icons/buck.svg → packages/desktop/src/assets/file-icons/buck.svg


+ 0 - 0
packages/app/src/assets/file-icons/bucklescript.svg → packages/desktop/src/assets/file-icons/bucklescript.svg


+ 0 - 0
packages/app/src/assets/file-icons/buildkite.svg → packages/desktop/src/assets/file-icons/buildkite.svg


+ 0 - 0
packages/app/src/assets/file-icons/bun.svg → packages/desktop/src/assets/file-icons/bun.svg


+ 0 - 0
packages/app/src/assets/file-icons/bun_light.svg → packages/desktop/src/assets/file-icons/bun_light.svg


+ 0 - 0
packages/app/src/assets/file-icons/c.svg → packages/desktop/src/assets/file-icons/c.svg


+ 0 - 0
packages/app/src/assets/file-icons/c3.svg → packages/desktop/src/assets/file-icons/c3.svg


+ 0 - 0
packages/app/src/assets/file-icons/cabal.svg → packages/desktop/src/assets/file-icons/cabal.svg


+ 0 - 0
packages/app/src/assets/file-icons/caddy.svg → packages/desktop/src/assets/file-icons/caddy.svg


+ 0 - 0
packages/app/src/assets/file-icons/cadence.svg → packages/desktop/src/assets/file-icons/cadence.svg


+ 0 - 0
packages/app/src/assets/file-icons/cairo.svg → packages/desktop/src/assets/file-icons/cairo.svg


+ 0 - 0
packages/app/src/assets/file-icons/cake.svg → packages/desktop/src/assets/file-icons/cake.svg


+ 0 - 0
packages/app/src/assets/file-icons/capacitor.svg → packages/desktop/src/assets/file-icons/capacitor.svg


+ 0 - 0
packages/app/src/assets/file-icons/capnp.svg → packages/desktop/src/assets/file-icons/capnp.svg


+ 0 - 0
packages/app/src/assets/file-icons/cbx.svg → packages/desktop/src/assets/file-icons/cbx.svg


+ 0 - 0
packages/app/src/assets/file-icons/cds.svg → packages/desktop/src/assets/file-icons/cds.svg


+ 0 - 0
packages/app/src/assets/file-icons/certificate.svg → packages/desktop/src/assets/file-icons/certificate.svg


+ 0 - 0
packages/app/src/assets/file-icons/changelog.svg → packages/desktop/src/assets/file-icons/changelog.svg


+ 0 - 0
packages/app/src/assets/file-icons/chess.svg → packages/desktop/src/assets/file-icons/chess.svg


+ 0 - 0
packages/app/src/assets/file-icons/chess_light.svg → packages/desktop/src/assets/file-icons/chess_light.svg


+ 0 - 0
packages/app/src/assets/file-icons/chrome.svg → packages/desktop/src/assets/file-icons/chrome.svg


+ 0 - 0
packages/app/src/assets/file-icons/circleci.svg → packages/desktop/src/assets/file-icons/circleci.svg


+ 0 - 0
packages/app/src/assets/file-icons/circleci_light.svg → packages/desktop/src/assets/file-icons/circleci_light.svg


+ 0 - 0
packages/app/src/assets/file-icons/citation.svg → packages/desktop/src/assets/file-icons/citation.svg


+ 0 - 0
packages/app/src/assets/file-icons/clangd.svg → packages/desktop/src/assets/file-icons/clangd.svg


+ 0 - 0
packages/app/src/assets/file-icons/claude.svg → packages/desktop/src/assets/file-icons/claude.svg


+ 0 - 0
packages/app/src/assets/file-icons/cline.svg → packages/desktop/src/assets/file-icons/cline.svg


+ 0 - 0
packages/app/src/assets/file-icons/clojure.svg → packages/desktop/src/assets/file-icons/clojure.svg


+ 0 - 0
packages/app/src/assets/file-icons/cloudfoundry.svg → packages/desktop/src/assets/file-icons/cloudfoundry.svg


+ 0 - 0
packages/app/src/assets/file-icons/cmake.svg → packages/desktop/src/assets/file-icons/cmake.svg


+ 0 - 0
packages/app/src/assets/file-icons/coala.svg → packages/desktop/src/assets/file-icons/coala.svg


Некоторые файлы не были показаны из-за большого количества измененных файлов