From e19c8c4924ec4de2f38d9fb7eb2a5743583875fb Mon Sep 17 00:00:00 2001 From: Julien Cabillot Date: Mon, 27 Apr 2026 16:47:29 -0400 Subject: [PATCH] fix: move to npm --- Dockerfile | 24 + Jenkinsfile | 2 +- src/.dockerignore | 26 - src/.github/CODEOWNERS | 2 - src/.github/ISSUE_TEMPLATE/bug_report.yml | 45 - src/.github/ISSUE_TEMPLATE/config.yml | 1 - .../ISSUE_TEMPLATE/feature_request.yml | 22 - .../workflows/build-macos-arm64-dmg.yml | 201 - src/.github/workflows/docs-source.yml | 86 - src/.github/workflows/oc-integration.yml | 33 - src/.github/workflows/oc-review.yml | 33 - src/.github/workflows/release.yml | 765 -- src/.github/workflows/vscode-extension.yml | 60 - src/.gitignore | 59 - src/.nvmrc | 1 - src/.opencode/commands/changelog.md | 37 - src/.opencode/package-lock.json | 376 - .../skills/clack-cli-patterns/SKILL.md | 216 - .../skills/locale-ui-patterns/SKILL.md | 128 - .../skills/settings-ui-patterns/SKILL.md | 238 - src/.opencode/skills/theme-system/SKILL.md | 242 - .../theme-system/references/adding-themes.md | 51 - src/AGENTS.md | 386 - src/CHANGELOG.md | 847 --- src/CONTRIBUTING.md | 92 - src/Caddyfile | 22 - src/Dockerfile | 67 - src/LICENSE | 21 - src/README.md | 403 - src/SECURITY.md | 32 - src/bun.lock | 3876 ---------- src/components.json | 21 - src/docker-compose.yml | 30 - src/docs/.gitkeep | 0 src/docs/CUSTOM_THEMES.md | 229 - src/docs/REVERSE_PROXY.md | 337 - src/docs/TAURI_TO_ELECTRON_CUTOVER.md | 349 - .../badges/created-with-opencode.svg | 19 - .../badges/openchamber-logo-dark.png | Bin 23070 -> 0 bytes .../badges/openchamber-logo-dark.svg | 47 - .../badges/openchamber-logo-light.svg | 47 - src/docs/references/chat_example.png | Bin 996462 -> 0 bytes src/docs/references/diff_example.png | Bin 1082490 -> 0 bytes src/docs/references/pwa_chat_example.png | Bin 994192 -> 0 bytes src/docs/references/pwa_diff_example.png | Bin 573012 -> 0 bytes src/docs/references/settings_example.png | Bin 739015 -> 0 bytes src/docs/references/tool_output_example.png | Bin 1025189 -> 0 bytes src/docs/references/web_version_example.png | Bin 882602 -> 0 bytes src/eslint.config.js | 23 - src/fix-deprecation.js | 81 - src/package.json | 161 - src/packages/desktop/.gitignore | 21 - src/packages/desktop/README.md | 68 - src/packages/desktop/noop-dist/index.html | 110 - src/packages/desktop/package.json | 26 - .../ibm-plex-mono-latin-600-normal.woff2 | Bin 15620 -> 0 bytes .../ibm-plex-mono-latin-700-normal.woff2 | Bin 14908 -> 0 bytes .../desktop/scripts/build-sidecar.mjs | 135 - src/packages/desktop/scripts/desktop-dev.mjs | 138 - .../desktop/scripts/dev-web-server.mjs | 197 - src/packages/desktop/scripts/opencode-cli.mjs | 237 - src/packages/desktop/src-tauri/Cargo.lock | 6688 ----------------- src/packages/desktop/src-tauri/Cargo.toml | 42 - src/packages/desktop/src-tauri/Info.plist | 27 - src/packages/desktop/src-tauri/build.rs | 3 - .../src-tauri/capabilities/default.json | 41 - .../desktop/src-tauri/entitlements.plist | 23 - .../desktop/src-tauri/icons/app-icon.png | Bin 24006 -> 0 bytes .../desktop/src-tauri/icons/app-icon.svg | 33 - .../desktop/src-tauri/icons/dev-icon.icns | Bin 173094 -> 0 bytes .../desktop/src-tauri/icons/dev-icon.png | Bin 66751 -> 0 bytes .../desktop/src-tauri/icons/icon.icns | Bin 160844 -> 0 bytes src/packages/desktop/src-tauri/icons/icon.png | Bin 55246 -> 0 bytes .../desktop/src-tauri/resources/.gitkeep | 0 .../desktop/src-tauri/sidecars/.gitkeep | 0 src/packages/desktop/src-tauri/src/main.rs | 4728 ------------ .../desktop/src-tauri/src/remote_ssh.rs | 3002 -------- .../desktop/src-tauri/tauri.conf.json | 82 - .../desktop/src-tauri/tauri.dev.conf.json | 9 - src/packages/docs/CONTRIBUTING.md | 57 - src/packages/docs/DEPLOYMENT.md | 42 - src/packages/docs/README.md | 31 - src/packages/docs/content/docs/index.mdx | 25 - src/packages/docs/content/docs/install.mdx | 33 - src/packages/docs/content/docs/quickstart.mdx | 22 - .../docs/content/docs/reverse-proxy.mdx | 347 - src/packages/docs/content/docs/themes.mdx | 30 - .../docs/content/docs/troubleshooting.mdx | 30 - src/packages/docs/content/docs/tunnels.mdx | 77 - src/packages/docs/sidebar.config.json | 26 - src/packages/electron/.gitignore | 13 - src/packages/electron/main.mjs | 2372 ------ src/packages/electron/package.json | 98 - src/packages/electron/preload.mjs | 146 - .../electron/resources/entitlements.mac.plist | 35 - .../electron/resources/icons/app-icon.png | Bin 24006 -> 0 bytes .../electron/resources/icons/app-icon.svg | 33 - .../electron/resources/icons/dev-icon.icns | Bin 173094 -> 0 bytes .../electron/resources/icons/dev-icon.png | Bin 66751 -> 0 bytes .../electron/resources/icons/icon.icns | Bin 160844 -> 0 bytes .../electron/resources/icons/icon.png | Bin 55246 -> 0 bytes .../electron/scripts/build-web-assets.mjs | 75 - src/packages/electron/scripts/bundle-main.mjs | 44 - .../electron/scripts/electron-dev.mjs | 131 - .../electron/scripts/finalize-latest-yml.mjs | 113 - .../electron/scripts/rebuild-native.mjs | 30 - src/packages/electron/ssh-manager.mjs | 1245 --- src/packages/ui/package.json | 108 - src/packages/ui/src/App.css | 42 - src/packages/ui/src/App.tsx | 937 --- .../ui/src/assets/icons/file-types/3d.svg | 1 - .../ui/src/assets/icons/file-types/README.md | 26 - .../ui/src/assets/icons/file-types/abap.svg | 1 - .../ui/src/assets/icons/file-types/abc.svg | 1 - .../assets/icons/file-types/actionscript.svg | 1 - .../ui/src/assets/icons/file-types/ada.svg | 1 - .../icons/file-types/adobe-illustrator.svg | 1 - .../file-types/adobe-illustrator_light.svg | 1 - .../icons/file-types/adobe-photoshop.svg | 1 - .../file-types/adobe-photoshop_light.svg | 1 - .../src/assets/icons/file-types/adobe-swc.svg | 1 - .../ui/src/assets/icons/file-types/adonis.svg | 1 - .../ui/src/assets/icons/file-types/advpl.svg | 1 - .../src/assets/icons/file-types/amplify.svg | 1 - .../src/assets/icons/file-types/android.svg | 1 - .../src/assets/icons/file-types/angular.svg | 1 - .../ui/src/assets/icons/file-types/antlr.svg | 1 - .../assets/icons/file-types/apiblueprint.svg | 1 - .../ui/src/assets/icons/file-types/apollo.svg | 1 - .../assets/icons/file-types/applescript.svg | 1 - .../assets/icons/file-types/apps-script.svg | 1 - .../src/assets/icons/file-types/appveyor.svg | 1 - .../assets/icons/file-types/architecture.svg | 1 - .../src/assets/icons/file-types/arduino.svg | 1 - .../src/assets/icons/file-types/asciidoc.svg | 1 - .../src/assets/icons/file-types/assembly.svg | 1 - .../assets/icons/file-types/astro-config.svg | 1 - .../ui/src/assets/icons/file-types/astro.svg | 1 - .../ui/src/assets/icons/file-types/astyle.svg | 1 - .../ui/src/assets/icons/file-types/audio.svg | 1 - .../src/assets/icons/file-types/aurelia.svg | 1 - .../src/assets/icons/file-types/authors.svg | 1 - .../ui/src/assets/icons/file-types/auto.svg | 1 - .../assets/icons/file-types/auto_light.svg | 12 - .../assets/icons/file-types/autohotkey.svg | 1 - .../ui/src/assets/icons/file-types/autoit.svg | 1 - .../icons/file-types/azure-pipelines.svg | 1 - .../ui/src/assets/icons/file-types/azure.svg | 1 - .../ui/src/assets/icons/file-types/babel.svg | 1 - .../src/assets/icons/file-types/ballerina.svg | 1 - .../ui/src/assets/icons/file-types/bazel.svg | 1 - .../ui/src/assets/icons/file-types/bbx.svg | 1 - .../src/assets/icons/file-types/beancount.svg | 1 - .../src/assets/icons/file-types/bench-js.svg | 1 - .../src/assets/icons/file-types/bench-jsx.svg | 1 - .../src/assets/icons/file-types/bench-ts.svg | 1 - .../assets/icons/file-types/bibliography.svg | 1 - .../assets/icons/file-types/bibtex-style.svg | 1 - .../ui/src/assets/icons/file-types/bicep.svg | 1 - .../ui/src/assets/icons/file-types/biome.svg | 1 - .../src/assets/icons/file-types/bitbucket.svg | 1 - .../src/assets/icons/file-types/bithound.svg | 1 - .../src/assets/icons/file-types/blender.svg | 1 - .../ui/src/assets/icons/file-types/blink.svg | 1 - .../assets/icons/file-types/blink_light.svg | 1 - .../ui/src/assets/icons/file-types/blitz.svg | 1 - .../ui/src/assets/icons/file-types/bower.svg | 1 - .../src/assets/icons/file-types/brainfuck.svg | 1 - .../assets/icons/file-types/browserlist.svg | 1 - .../icons/file-types/browserlist_light.svg | 1 - .../ui/src/assets/icons/file-types/bruno.svg | 1 - .../ui/src/assets/icons/file-types/buck.svg | 1 - .../assets/icons/file-types/bucklescript.svg | 1 - .../src/assets/icons/file-types/buildkite.svg | 1 - .../ui/src/assets/icons/file-types/bun.svg | 1 - .../src/assets/icons/file-types/bun_light.svg | 1 - .../ui/src/assets/icons/file-types/c.svg | 1 - .../ui/src/assets/icons/file-types/c3.svg | 1 - .../ui/src/assets/icons/file-types/cabal.svg | 1 - .../ui/src/assets/icons/file-types/caddy.svg | 1 - .../src/assets/icons/file-types/cadence.svg | 1 - .../ui/src/assets/icons/file-types/cairo.svg | 1 - .../ui/src/assets/icons/file-types/cake.svg | 1 - .../src/assets/icons/file-types/capacitor.svg | 1 - .../ui/src/assets/icons/file-types/capnp.svg | 1 - .../ui/src/assets/icons/file-types/cbx.svg | 1 - .../ui/src/assets/icons/file-types/cds.svg | 1 - .../assets/icons/file-types/certificate.svg | 1 - .../src/assets/icons/file-types/changelog.svg | 1 - .../ui/src/assets/icons/file-types/chess.svg | 1 - .../assets/icons/file-types/chess_light.svg | 1 - .../ui/src/assets/icons/file-types/chrome.svg | 1 - .../src/assets/icons/file-types/circleci.svg | 1 - .../icons/file-types/circleci_light.svg | 1 - .../src/assets/icons/file-types/citation.svg | 1 - .../ui/src/assets/icons/file-types/clangd.svg | 1 - .../ui/src/assets/icons/file-types/claude.svg | 1 - .../ui/src/assets/icons/file-types/cline.svg | 1 - .../src/assets/icons/file-types/clojure.svg | 1 - .../assets/icons/file-types/cloudfoundry.svg | 1 - .../ui/src/assets/icons/file-types/cmake.svg | 1 - .../ui/src/assets/icons/file-types/coala.svg | 1 - .../ui/src/assets/icons/file-types/cobol.svg | 1 - .../src/assets/icons/file-types/coconut.svg | 1 - .../assets/icons/file-types/code-climate.svg | 1 - .../icons/file-types/code-climate_light.svg | 1 - .../src/assets/icons/file-types/codecov.svg | 1 - .../assets/icons/file-types/codeowners.svg | 1 - .../assets/icons/file-types/coderabbit-ai.svg | 1 - .../ui/src/assets/icons/file-types/coffee.svg | 1 - .../assets/icons/file-types/coldfusion.svg | 1 - .../icons/file-types/coloredpetrinets.svg | 1 - .../src/assets/icons/file-types/command.svg | 1 - .../assets/icons/file-types/commitizen.svg | 1 - .../assets/icons/file-types/commitlint.svg | 1 - .../src/assets/icons/file-types/concourse.svg | 1 - .../src/assets/icons/file-types/conduct.svg | 1 - .../src/assets/icons/file-types/console.svg | 1 - .../assets/icons/file-types/contentlayer.svg | 1 - .../src/assets/icons/file-types/context.svg | 1 - .../assets/icons/file-types/contributing.svg | 1 - .../assets/icons/file-types/controller.svg | 1 - .../src/assets/icons/file-types/copilot.svg | 1 - .../assets/icons/file-types/copilot_light.svg | 1 - .../ui/src/assets/icons/file-types/cpp.svg | 1 - .../ui/src/assets/icons/file-types/craco.svg | 1 - .../src/assets/icons/file-types/credits.svg | 1 - .../src/assets/icons/file-types/crystal.svg | 1 - .../assets/icons/file-types/crystal_light.svg | 1 - .../ui/src/assets/icons/file-types/csharp.svg | 1 - .../src/assets/icons/file-types/css-map.svg | 1 - .../ui/src/assets/icons/file-types/css.svg | 1 - .../src/assets/icons/file-types/cucumber.svg | 1 - .../ui/src/assets/icons/file-types/cuda.svg | 1 - .../ui/src/assets/icons/file-types/cursor.svg | 1 - .../assets/icons/file-types/cursor_light.svg | 1 - .../src/assets/icons/file-types/cypress.svg | 1 - .../ui/src/assets/icons/file-types/d.svg | 1 - .../ui/src/assets/icons/file-types/dart.svg | 1 - .../icons/file-types/dart_generated.svg | 1 - .../src/assets/icons/file-types/database.svg | 1 - .../assets/icons/file-types/deepsource.svg | 1 - .../assets/icons/file-types/denizenscript.svg | 1 - .../ui/src/assets/icons/file-types/deno.svg | 1 - .../assets/icons/file-types/deno_light.svg | 1 - .../assets/icons/file-types/dependabot.svg | 1 - .../icons/file-types/dependencies-update.svg | 1 - .../ui/src/assets/icons/file-types/dhall.svg | 1 - .../ui/src/assets/icons/file-types/diff.svg | 1 - .../src/assets/icons/file-types/dinophp.svg | 1 - .../ui/src/assets/icons/file-types/disc.svg | 1 - .../ui/src/assets/icons/file-types/django.svg | 1 - .../ui/src/assets/icons/file-types/dll.svg | 1 - .../ui/src/assets/icons/file-types/docker.svg | 1 - .../icons/file-types/doctex-installer.svg | 1 - .../src/assets/icons/file-types/document.svg | 1 - .../ui/src/assets/icons/file-types/dotjs.svg | 1 - .../ui/src/assets/icons/file-types/drawio.svg | 1 - .../src/assets/icons/file-types/drizzle.svg | 1 - .../ui/src/assets/icons/file-types/drone.svg | 1 - .../assets/icons/file-types/drone_light.svg | 4 - .../ui/src/assets/icons/file-types/duc.svg | 1 - .../ui/src/assets/icons/file-types/dune.svg | 1 - .../ui/src/assets/icons/file-types/edge.svg | 1 - .../assets/icons/file-types/editorconfig.svg | 1 - .../ui/src/assets/icons/file-types/ejs.svg | 1 - .../ui/src/assets/icons/file-types/elixir.svg | 1 - .../ui/src/assets/icons/file-types/elm.svg | 1 - .../ui/src/assets/icons/file-types/email.svg | 1 - .../ui/src/assets/icons/file-types/ember.svg | 1 - .../ui/src/assets/icons/file-types/epub.svg | 1 - .../ui/src/assets/icons/file-types/erlang.svg | 1 - .../src/assets/icons/file-types/esbuild.svg | 1 - .../ui/src/assets/icons/file-types/eslint.svg | 1 - .../assets/icons/file-types/excalidraw.svg | 1 - .../ui/src/assets/icons/file-types/exe.svg | 1 - .../src/assets/icons/file-types/fastlane.svg | 1 - .../src/assets/icons/file-types/favicon.svg | 1 - .../ui/src/assets/icons/file-types/figma.svg | 1 - .../src/assets/icons/file-types/firebase.svg | 1 - .../ui/src/assets/icons/file-types/flash.svg | 1 - .../ui/src/assets/icons/file-types/flow.svg | 1 - .../icons/file-types/folder-admin-open.svg | 6 - .../assets/icons/file-types/folder-admin.svg | 6 - .../icons/file-types/folder-android-open.svg | 1 - .../icons/file-types/folder-android.svg | 1 - .../icons/file-types/folder-angular-open.svg | 1 - .../icons/file-types/folder-angular.svg | 1 - .../file-types/folder-animation-open.svg | 1 - .../icons/file-types/folder-animation.svg | 1 - .../icons/file-types/folder-ansible-open.svg | 1 - .../icons/file-types/folder-ansible.svg | 1 - .../icons/file-types/folder-api-open.svg | 1 - .../assets/icons/file-types/folder-api.svg | 1 - .../icons/file-types/folder-apollo-open.svg | 1 - .../assets/icons/file-types/folder-apollo.svg | 1 - .../icons/file-types/folder-app-open.svg | 1 - .../assets/icons/file-types/folder-app.svg | 1 - .../icons/file-types/folder-archive-open.svg | 1 - .../icons/file-types/folder-archive.svg | 1 - .../icons/file-types/folder-astro-open.svg | 1 - .../assets/icons/file-types/folder-astro.svg | 1 - .../icons/file-types/folder-atom-open.svg | 1 - .../assets/icons/file-types/folder-atom.svg | 1 - .../file-types/folder-attachment-open.svg | 1 - .../icons/file-types/folder-attachment.svg | 1 - .../icons/file-types/folder-audio-open.svg | 1 - .../assets/icons/file-types/folder-audio.svg | 1 - .../icons/file-types/folder-aurelia-open.svg | 1 - .../icons/file-types/folder-aurelia.svg | 1 - .../icons/file-types/folder-aws-open.svg | 1 - .../assets/icons/file-types/folder-aws.svg | 1 - .../folder-azure-pipelines-open.svg | 1 - .../file-types/folder-azure-pipelines.svg | 1 - .../icons/file-types/folder-backup-open.svg | 1 - .../assets/icons/file-types/folder-backup.svg | 1 - .../icons/file-types/folder-base-open.svg | 1 - .../assets/icons/file-types/folder-base.svg | 1 - .../icons/file-types/folder-batch-open.svg | 1 - .../assets/icons/file-types/folder-batch.svg | 1 - .../file-types/folder-benchmark-open.svg | 1 - .../icons/file-types/folder-benchmark.svg | 1 - .../file-types/folder-bibliography-open.svg | 1 - .../icons/file-types/folder-bibliography.svg | 1 - .../icons/file-types/folder-bicep-open.svg | 1 - .../assets/icons/file-types/folder-bicep.svg | 1 - .../icons/file-types/folder-blender-open.svg | 1 - .../icons/file-types/folder-blender.svg | 1 - .../icons/file-types/folder-bloc-open.svg | 1 - .../assets/icons/file-types/folder-bloc.svg | 1 - .../icons/file-types/folder-bower-open.svg | 1 - .../assets/icons/file-types/folder-bower.svg | 1 - .../file-types/folder-buildkite-open.svg | 1 - .../icons/file-types/folder-buildkite.svg | 1 - .../icons/file-types/folder-cart-open.svg | 1 - .../assets/icons/file-types/folder-cart.svg | 1 - .../file-types/folder-changesets-open.svg | 1 - .../icons/file-types/folder-changesets.svg | 1 - .../icons/file-types/folder-ci-open.svg | 1 - .../src/assets/icons/file-types/folder-ci.svg | 1 - .../icons/file-types/folder-circleci-open.svg | 7 - .../icons/file-types/folder-circleci.svg | 7 - .../icons/file-types/folder-class-open.svg | 1 - .../assets/icons/file-types/folder-class.svg | 1 - .../icons/file-types/folder-claude-open.svg | 1 - .../assets/icons/file-types/folder-claude.svg | 1 - .../icons/file-types/folder-client-open.svg | 1 - .../assets/icons/file-types/folder-client.svg | 1 - .../icons/file-types/folder-cline-open.svg | 1 - .../assets/icons/file-types/folder-cline.svg | 1 - .../folder-cloud-functions-open.svg | 1 - .../file-types/folder-cloud-functions.svg | 1 - .../file-types/folder-cloudflare-open.svg | 1 - .../icons/file-types/folder-cloudflare.svg | 1 - .../icons/file-types/folder-cluster-open.svg | 1 - .../icons/file-types/folder-cluster.svg | 1 - .../icons/file-types/folder-cobol-open.svg | 1 - .../assets/icons/file-types/folder-cobol.svg | 1 - .../icons/file-types/folder-command-open.svg | 1 - .../icons/file-types/folder-command.svg | 1 - .../file-types/folder-components-open.svg | 1 - .../icons/file-types/folder-components.svg | 1 - .../icons/file-types/folder-config-open.svg | 1 - .../assets/icons/file-types/folder-config.svg | 1 - .../file-types/folder-connection-open.svg | 1 - .../icons/file-types/folder-connection.svg | 1 - .../icons/file-types/folder-console-open.svg | 1 - .../icons/file-types/folder-console.svg | 1 - .../icons/file-types/folder-constant-open.svg | 1 - .../icons/file-types/folder-constant.svg | 1 - .../file-types/folder-container-open.svg | 1 - .../icons/file-types/folder-container.svg | 1 - .../icons/file-types/folder-content-open.svg | 1 - .../icons/file-types/folder-content.svg | 1 - .../icons/file-types/folder-context-open.svg | 1 - .../icons/file-types/folder-context.svg | 1 - .../icons/file-types/folder-contract-open.svg | 1 - .../icons/file-types/folder-contract.svg | 1 - .../file-types/folder-controller-open.svg | 1 - .../icons/file-types/folder-controller.svg | 1 - .../icons/file-types/folder-core-open.svg | 1 - .../assets/icons/file-types/folder-core.svg | 1 - .../icons/file-types/folder-coverage-open.svg | 1 - .../icons/file-types/folder-coverage.svg | 1 - .../icons/file-types/folder-css-open.svg | 1 - .../assets/icons/file-types/folder-css.svg | 1 - .../icons/file-types/folder-cursor-open.svg | 1 - .../file-types/folder-cursor-open_light.svg | 1 - .../assets/icons/file-types/folder-cursor.svg | 1 - .../icons/file-types/folder-cursor_light.svg | 1 - .../icons/file-types/folder-custom-open.svg | 1 - .../assets/icons/file-types/folder-custom.svg | 1 - .../icons/file-types/folder-cypress-open.svg | 1 - .../icons/file-types/folder-cypress.svg | 1 - .../icons/file-types/folder-dart-open.svg | 1 - .../assets/icons/file-types/folder-dart.svg | 1 - .../icons/file-types/folder-database-open.svg | 1 - .../icons/file-types/folder-database.svg | 1 - .../icons/file-types/folder-debug-open.svg | 1 - .../assets/icons/file-types/folder-debug.svg | 1 - .../file-types/folder-decorators-open.svg | 1 - .../icons/file-types/folder-decorators.svg | 1 - .../icons/file-types/folder-delta-open.svg | 1 - .../assets/icons/file-types/folder-delta.svg | 1 - .../icons/file-types/folder-desktop-open.svg | 1 - .../icons/file-types/folder-desktop.svg | 1 - .../file-types/folder-directive-open.svg | 1 - .../icons/file-types/folder-directive.svg | 1 - .../icons/file-types/folder-dist-open.svg | 1 - .../assets/icons/file-types/folder-dist.svg | 1 - .../icons/file-types/folder-docker-open.svg | 1 - .../assets/icons/file-types/folder-docker.svg | 1 - .../icons/file-types/folder-docs-open.svg | 1 - .../assets/icons/file-types/folder-docs.svg | 1 - .../icons/file-types/folder-download-open.svg | 1 - .../icons/file-types/folder-download.svg | 1 - .../icons/file-types/folder-drizzle-open.svg | 1 - .../icons/file-types/folder-drizzle.svg | 1 - .../icons/file-types/folder-dump-open.svg | 1 - .../assets/icons/file-types/folder-dump.svg | 1 - .../icons/file-types/folder-element-open.svg | 1 - .../icons/file-types/folder-element.svg | 1 - .../icons/file-types/folder-enum-open.svg | 1 - .../assets/icons/file-types/folder-enum.svg | 1 - .../file-types/folder-environment-open.svg | 1 - .../icons/file-types/folder-environment.svg | 1 - .../icons/file-types/folder-error-open.svg | 1 - .../assets/icons/file-types/folder-error.svg | 1 - .../icons/file-types/folder-event-open.svg | 1 - .../assets/icons/file-types/folder-event.svg | 1 - .../icons/file-types/folder-examples-open.svg | 1 - .../icons/file-types/folder-examples.svg | 1 - .../icons/file-types/folder-expo-open.svg | 1 - .../assets/icons/file-types/folder-expo.svg | 1 - .../icons/file-types/folder-export-open.svg | 1 - .../assets/icons/file-types/folder-export.svg | 1 - .../icons/file-types/folder-fastlane-open.svg | 1 - .../icons/file-types/folder-fastlane.svg | 1 - .../icons/file-types/folder-favicon-open.svg | 1 - .../icons/file-types/folder-favicon.svg | 1 - .../icons/file-types/folder-firebase-open.svg | 1 - .../icons/file-types/folder-firebase.svg | 1 - .../file-types/folder-firestore-open.svg | 1 - .../icons/file-types/folder-firestore.svg | 1 - .../icons/file-types/folder-flow-open.svg | 6 - .../assets/icons/file-types/folder-flow.svg | 6 - .../icons/file-types/folder-flutter-open.svg | 1 - .../icons/file-types/folder-flutter.svg | 1 - .../icons/file-types/folder-font-open.svg | 1 - .../assets/icons/file-types/folder-font.svg | 1 - .../icons/file-types/folder-forgejo-open.svg | 1 - .../icons/file-types/folder-forgejo.svg | 1 - .../file-types/folder-functions-open.svg | 1 - .../icons/file-types/folder-functions.svg | 1 - .../file-types/folder-gamemaker-open.svg | 1 - .../icons/file-types/folder-gamemaker.svg | 1 - .../file-types/folder-generator-open.svg | 1 - .../icons/file-types/folder-generator.svg | 1 - .../file-types/folder-gh-workflows-open.svg | 6 - .../icons/file-types/folder-gh-workflows.svg | 6 - .../icons/file-types/folder-git-open.svg | 1 - .../assets/icons/file-types/folder-git.svg | 1 - .../icons/file-types/folder-gitea-open.svg | 1 - .../assets/icons/file-types/folder-gitea.svg | 1 - .../icons/file-types/folder-github-open.svg | 6 - .../assets/icons/file-types/folder-github.svg | 6 - .../icons/file-types/folder-gitlab-open.svg | 1 - .../assets/icons/file-types/folder-gitlab.svg | 1 - .../icons/file-types/folder-global-open.svg | 1 - .../assets/icons/file-types/folder-global.svg | 1 - .../icons/file-types/folder-godot-open.svg | 1 - .../assets/icons/file-types/folder-godot.svg | 1 - .../icons/file-types/folder-gradle-open.svg | 1 - .../assets/icons/file-types/folder-gradle.svg | 1 - .../icons/file-types/folder-graphql-open.svg | 1 - .../icons/file-types/folder-graphql.svg | 1 - .../icons/file-types/folder-guard-open.svg | 1 - .../assets/icons/file-types/folder-guard.svg | 1 - .../icons/file-types/folder-gulp-open.svg | 1 - .../assets/icons/file-types/folder-gulp.svg | 1 - .../icons/file-types/folder-helm-open.svg | 1 - .../assets/icons/file-types/folder-helm.svg | 1 - .../icons/file-types/folder-helper-open.svg | 1 - .../assets/icons/file-types/folder-helper.svg | 1 - .../icons/file-types/folder-home-open.svg | 1 - .../assets/icons/file-types/folder-home.svg | 1 - .../icons/file-types/folder-hook-open.svg | 1 - .../assets/icons/file-types/folder-hook.svg | 1 - .../icons/file-types/folder-husky-open.svg | 1 - .../assets/icons/file-types/folder-husky.svg | 1 - .../icons/file-types/folder-i18n-open.svg | 1 - .../assets/icons/file-types/folder-i18n.svg | 1 - .../icons/file-types/folder-images-open.svg | 1 - .../assets/icons/file-types/folder-images.svg | 1 - .../icons/file-types/folder-import-open.svg | 1 - .../assets/icons/file-types/folder-import.svg | 1 - .../icons/file-types/folder-include-open.svg | 1 - .../icons/file-types/folder-include.svg | 1 - .../icons/file-types/folder-intellij-open.svg | 39 - .../file-types/folder-intellij-open_light.svg | 1 - .../icons/file-types/folder-intellij.svg | 39 - .../file-types/folder-intellij_light.svg | 1 - .../file-types/folder-interceptor-open.svg | 1 - .../icons/file-types/folder-interceptor.svg | 1 - .../file-types/folder-interface-open.svg | 1 - .../icons/file-types/folder-interface.svg | 1 - .../icons/file-types/folder-ios-open.svg | 1 - .../assets/icons/file-types/folder-ios.svg | 1 - .../icons/file-types/folder-java-open.svg | 1 - .../assets/icons/file-types/folder-java.svg | 1 - .../file-types/folder-javascript-open.svg | 1 - .../icons/file-types/folder-javascript.svg | 1 - .../icons/file-types/folder-jinja-open.svg | 1 - .../file-types/folder-jinja-open_light.svg | 1 - .../assets/icons/file-types/folder-jinja.svg | 1 - .../icons/file-types/folder-jinja_light.svg | 1 - .../icons/file-types/folder-job-open.svg | 1 - .../assets/icons/file-types/folder-job.svg | 1 - .../icons/file-types/folder-json-open.svg | 1 - .../assets/icons/file-types/folder-json.svg | 1 - .../icons/file-types/folder-jupyter-open.svg | 1 - .../icons/file-types/folder-jupyter.svg | 1 - .../icons/file-types/folder-keys-open.svg | 1 - .../assets/icons/file-types/folder-keys.svg | 1 - .../file-types/folder-kubernetes-open.svg | 1 - .../icons/file-types/folder-kubernetes.svg | 1 - .../icons/file-types/folder-kusto-open.svg | 1 - .../assets/icons/file-types/folder-kusto.svg | 1 - .../icons/file-types/folder-layout-open.svg | 1 - .../assets/icons/file-types/folder-layout.svg | 1 - .../icons/file-types/folder-lefthook-open.svg | 1 - .../icons/file-types/folder-lefthook.svg | 1 - .../icons/file-types/folder-less-open.svg | 1 - .../assets/icons/file-types/folder-less.svg | 1 - .../icons/file-types/folder-lib-open.svg | 1 - .../assets/icons/file-types/folder-lib.svg | 1 - .../icons/file-types/folder-link-open.svg | 1 - .../assets/icons/file-types/folder-link.svg | 1 - .../icons/file-types/folder-linux-open.svg | 1 - .../assets/icons/file-types/folder-linux.svg | 1 - .../file-types/folder-liquibase-open.svg | 1 - .../icons/file-types/folder-liquibase.svg | 1 - .../icons/file-types/folder-log-open.svg | 1 - .../assets/icons/file-types/folder-log.svg | 1 - .../icons/file-types/folder-lottie-open.svg | 1 - .../assets/icons/file-types/folder-lottie.svg | 1 - .../icons/file-types/folder-lua-open.svg | 1 - .../assets/icons/file-types/folder-lua.svg | 1 - .../icons/file-types/folder-luau-open.svg | 1 - .../assets/icons/file-types/folder-luau.svg | 1 - .../icons/file-types/folder-macos-open.svg | 6 - .../assets/icons/file-types/folder-macos.svg | 6 - .../icons/file-types/folder-mail-open.svg | 1 - .../assets/icons/file-types/folder-mail.svg | 1 - .../icons/file-types/folder-mappings-open.svg | 1 - .../icons/file-types/folder-mappings.svg | 1 - .../icons/file-types/folder-markdown-open.svg | 1 - .../icons/file-types/folder-markdown.svg | 1 - .../file-types/folder-mercurial-open.svg | 1 - .../icons/file-types/folder-mercurial.svg | 1 - .../icons/file-types/folder-messages-open.svg | 1 - .../icons/file-types/folder-messages.svg | 1 - .../icons/file-types/folder-meta-open.svg | 1 - .../assets/icons/file-types/folder-meta.svg | 1 - .../file-types/folder-middleware-open.svg | 1 - .../icons/file-types/folder-middleware.svg | 1 - .../icons/file-types/folder-mjml-open.svg | 1 - .../assets/icons/file-types/folder-mjml.svg | 1 - .../icons/file-types/folder-mobile-open.svg | 1 - .../assets/icons/file-types/folder-mobile.svg | 1 - .../icons/file-types/folder-mock-open.svg | 1 - .../assets/icons/file-types/folder-mock.svg | 1 - .../icons/file-types/folder-mojo-open.svg | 1 - .../assets/icons/file-types/folder-mojo.svg | 1 - .../icons/file-types/folder-molecule-open.svg | 1 - .../icons/file-types/folder-molecule.svg | 1 - .../icons/file-types/folder-moon-open.svg | 1 - .../assets/icons/file-types/folder-moon.svg | 1 - .../icons/file-types/folder-netlify-open.svg | 1 - .../icons/file-types/folder-netlify.svg | 1 - .../icons/file-types/folder-next-open.svg | 6 - .../assets/icons/file-types/folder-next.svg | 6 - .../file-types/folder-ngrx-store-open.svg | 1 - .../icons/file-types/folder-ngrx-store.svg | 1 - .../icons/file-types/folder-node-open.svg | 1 - .../assets/icons/file-types/folder-node.svg | 1 - .../icons/file-types/folder-nuxt-open.svg | 6 - .../assets/icons/file-types/folder-nuxt.svg | 6 - .../icons/file-types/folder-obsidian-open.svg | 1 - .../icons/file-types/folder-obsidian.svg | 1 - .../assets/icons/file-types/folder-open.svg | 5 - .../icons/file-types/folder-organism-open.svg | 1 - .../icons/file-types/folder-organism.svg | 1 - .../icons/file-types/folder-other-open.svg | 1 - .../assets/icons/file-types/folder-other.svg | 1 - .../icons/file-types/folder-packages-open.svg | 1 - .../icons/file-types/folder-packages.svg | 1 - .../icons/file-types/folder-pdf-open.svg | 1 - .../assets/icons/file-types/folder-pdf.svg | 1 - .../icons/file-types/folder-pdm-open.svg | 1 - .../assets/icons/file-types/folder-pdm.svg | 1 - .../icons/file-types/folder-php-open.svg | 1 - .../assets/icons/file-types/folder-php.svg | 1 - .../file-types/folder-phpmailer-open.svg | 1 - .../icons/file-types/folder-phpmailer.svg | 1 - .../icons/file-types/folder-pipe-open.svg | 1 - .../assets/icons/file-types/folder-pipe.svg | 1 - .../icons/file-types/folder-plastic-open.svg | 1 - .../icons/file-types/folder-plastic.svg | 1 - .../icons/file-types/folder-plugin-open.svg | 1 - .../assets/icons/file-types/folder-plugin.svg | 1 - .../icons/file-types/folder-policy-open.svg | 1 - .../assets/icons/file-types/folder-policy.svg | 1 - .../file-types/folder-powershell-open.svg | 1 - .../icons/file-types/folder-powershell.svg | 1 - .../icons/file-types/folder-prisma-open.svg | 1 - .../assets/icons/file-types/folder-prisma.svg | 1 - .../icons/file-types/folder-private-open.svg | 1 - .../icons/file-types/folder-private.svg | 1 - .../icons/file-types/folder-project-open.svg | 1 - .../icons/file-types/folder-project.svg | 1 - .../icons/file-types/folder-prompts-open.svg | 1 - .../icons/file-types/folder-prompts.svg | 1 - .../icons/file-types/folder-proto-open.svg | 1 - .../assets/icons/file-types/folder-proto.svg | 1 - .../icons/file-types/folder-public-open.svg | 1 - .../assets/icons/file-types/folder-public.svg | 1 - .../icons/file-types/folder-python-open.svg | 1 - .../assets/icons/file-types/folder-python.svg | 1 - .../icons/file-types/folder-pytorch-open.svg | 1 - .../icons/file-types/folder-pytorch.svg | 1 - .../icons/file-types/folder-quasar-open.svg | 1 - .../assets/icons/file-types/folder-quasar.svg | 1 - .../icons/file-types/folder-queue-open.svg | 1 - .../assets/icons/file-types/folder-queue.svg | 1 - .../folder-react-components-open.svg | 1 - .../file-types/folder-react-components.svg | 1 - .../file-types/folder-redux-reducer-open.svg | 1 - .../icons/file-types/folder-redux-reducer.svg | 1 - .../file-types/folder-repository-open.svg | 1 - .../icons/file-types/folder-repository.svg | 1 - .../icons/file-types/folder-resolver-open.svg | 1 - .../icons/file-types/folder-resolver.svg | 1 - .../icons/file-types/folder-resource-open.svg | 1 - .../icons/file-types/folder-resource.svg | 1 - .../icons/file-types/folder-review-open.svg | 1 - .../assets/icons/file-types/folder-review.svg | 1 - .../icons/file-types/folder-robot-open.svg | 1 - .../assets/icons/file-types/folder-robot.svg | 1 - .../icons/file-types/folder-routes-open.svg | 1 - .../assets/icons/file-types/folder-routes.svg | 1 - .../icons/file-types/folder-rules-open.svg | 1 - .../assets/icons/file-types/folder-rules.svg | 1 - .../icons/file-types/folder-rust-open.svg | 1 - .../assets/icons/file-types/folder-rust.svg | 1 - .../icons/file-types/folder-sandbox-open.svg | 1 - .../icons/file-types/folder-sandbox.svg | 1 - .../icons/file-types/folder-sass-open.svg | 1 - .../assets/icons/file-types/folder-sass.svg | 1 - .../icons/file-types/folder-scala-open.svg | 1 - .../assets/icons/file-types/folder-scala.svg | 1 - .../icons/file-types/folder-scons-open.svg | 1 - .../assets/icons/file-types/folder-scons.svg | 1 - .../icons/file-types/folder-scripts-open.svg | 6 - .../icons/file-types/folder-scripts.svg | 6 - .../icons/file-types/folder-secure-open.svg | 1 - .../assets/icons/file-types/folder-secure.svg | 1 - .../icons/file-types/folder-seeders-open.svg | 1 - .../icons/file-types/folder-seeders.svg | 1 - .../icons/file-types/folder-server-open.svg | 1 - .../assets/icons/file-types/folder-server.svg | 1 - .../file-types/folder-serverless-open.svg | 1 - .../icons/file-types/folder-serverless.svg | 1 - .../icons/file-types/folder-shader-open.svg | 1 - .../assets/icons/file-types/folder-shader.svg | 1 - .../icons/file-types/folder-shared-open.svg | 1 - .../assets/icons/file-types/folder-shared.svg | 1 - .../file-types/folder-snapcraft-open.svg | 1 - .../icons/file-types/folder-snapcraft.svg | 1 - .../icons/file-types/folder-snippet-open.svg | 1 - .../icons/file-types/folder-snippet.svg | 1 - .../icons/file-types/folder-src-open.svg | 1 - .../file-types/folder-src-tauri-open.svg | 1 - .../icons/file-types/folder-src-tauri.svg | 1 - .../assets/icons/file-types/folder-src.svg | 1 - .../icons/file-types/folder-stack-open.svg | 1 - .../assets/icons/file-types/folder-stack.svg | 1 - .../icons/file-types/folder-stencil-open.svg | 1 - .../icons/file-types/folder-stencil.svg | 1 - .../icons/file-types/folder-store-open.svg | 1 - .../assets/icons/file-types/folder-store.svg | 1 - .../file-types/folder-storybook-open.svg | 1 - .../icons/file-types/folder-storybook.svg | 1 - .../icons/file-types/folder-stylus-open.svg | 1 - .../assets/icons/file-types/folder-stylus.svg | 1 - .../icons/file-types/folder-sublime-open.svg | 1 - .../icons/file-types/folder-sublime.svg | 1 - .../icons/file-types/folder-supabase-open.svg | 1 - .../icons/file-types/folder-supabase.svg | 1 - .../icons/file-types/folder-svelte-open.svg | 1 - .../assets/icons/file-types/folder-svelte.svg | 1 - .../icons/file-types/folder-svg-open.svg | 1 - .../assets/icons/file-types/folder-svg.svg | 1 - .../icons/file-types/folder-syntax-open.svg | 1 - .../assets/icons/file-types/folder-syntax.svg | 1 - .../icons/file-types/folder-target-open.svg | 10 - .../assets/icons/file-types/folder-target.svg | 10 - .../icons/file-types/folder-taskfile-open.svg | 1 - .../icons/file-types/folder-taskfile.svg | 1 - .../icons/file-types/folder-tasks-open.svg | 1 - .../assets/icons/file-types/folder-tasks.svg | 1 - .../file-types/folder-television-open.svg | 1 - .../icons/file-types/folder-television.svg | 1 - .../icons/file-types/folder-temp-open.svg | 1 - .../assets/icons/file-types/folder-temp.svg | 1 - .../icons/file-types/folder-template-open.svg | 1 - .../icons/file-types/folder-template.svg | 1 - .../file-types/folder-terraform-open.svg | 1 - .../icons/file-types/folder-terraform.svg | 1 - .../icons/file-types/folder-test-open.svg | 1 - .../assets/icons/file-types/folder-test.svg | 1 - .../icons/file-types/folder-theme-open.svg | 1 - .../assets/icons/file-types/folder-theme.svg | 1 - .../icons/file-types/folder-tools-open.svg | 1 - .../assets/icons/file-types/folder-tools.svg | 1 - .../icons/file-types/folder-trash-open.svg | 1 - .../assets/icons/file-types/folder-trash.svg | 1 - .../icons/file-types/folder-trigger-open.svg | 1 - .../icons/file-types/folder-trigger.svg | 1 - .../file-types/folder-turborepo-open.svg | 15 - .../icons/file-types/folder-turborepo.svg | 15 - .../file-types/folder-typescript-open.svg | 1 - .../icons/file-types/folder-typescript.svg | 1 - .../icons/file-types/folder-ui-open.svg | 1 - .../src/assets/icons/file-types/folder-ui.svg | 1 - .../icons/file-types/folder-unity-open.svg | 1 - .../assets/icons/file-types/folder-unity.svg | 1 - .../icons/file-types/folder-update-open.svg | 1 - .../assets/icons/file-types/folder-update.svg | 1 - .../icons/file-types/folder-upload-open.svg | 1 - .../assets/icons/file-types/folder-upload.svg | 1 - .../icons/file-types/folder-utils-open.svg | 1 - .../assets/icons/file-types/folder-utils.svg | 1 - .../icons/file-types/folder-vercel-open.svg | 5 - .../assets/icons/file-types/folder-vercel.svg | 5 - .../file-types/folder-verdaccio-open.svg | 1 - .../icons/file-types/folder-verdaccio.svg | 1 - .../icons/file-types/folder-video-open.svg | 1 - .../assets/icons/file-types/folder-video.svg | 1 - .../icons/file-types/folder-views-open.svg | 1 - .../assets/icons/file-types/folder-views.svg | 1 - .../icons/file-types/folder-vm-open.svg | 1 - .../src/assets/icons/file-types/folder-vm.svg | 1 - .../icons/file-types/folder-vscode-open.svg | 1 - .../assets/icons/file-types/folder-vscode.svg | 1 - .../file-types/folder-vue-directives-open.svg | 1 - .../file-types/folder-vue-directives.svg | 1 - .../icons/file-types/folder-vue-open.svg | 1 - .../assets/icons/file-types/folder-vue.svg | 1 - .../icons/file-types/folder-vuepress-open.svg | 1 - .../icons/file-types/folder-vuepress.svg | 1 - .../file-types/folder-vuex-store-open.svg | 1 - .../icons/file-types/folder-vuex-store.svg | 1 - .../icons/file-types/folder-wakatime-open.svg | 1 - .../icons/file-types/folder-wakatime.svg | 1 - .../icons/file-types/folder-webpack-open.svg | 1 - .../icons/file-types/folder-webpack.svg | 1 - .../icons/file-types/folder-windows-open.svg | 1 - .../icons/file-types/folder-windows.svg | 1 - .../file-types/folder-wordpress-open.svg | 1 - .../icons/file-types/folder-wordpress.svg | 1 - .../icons/file-types/folder-yarn-open.svg | 1 - .../assets/icons/file-types/folder-yarn.svg | 1 - .../icons/file-types/folder-zeabur-open.svg | 1 - .../assets/icons/file-types/folder-zeabur.svg | 1 - .../ui/src/assets/icons/file-types/folder.svg | 5 - .../ui/src/assets/icons/file-types/font.svg | 1 - .../ui/src/assets/icons/file-types/forth.svg | 1 - .../src/assets/icons/file-types/fortran.svg | 1 - .../ui/src/assets/icons/file-types/foxpro.svg | 1 - .../assets/icons/file-types/freemarker.svg | 1 - .../ui/src/assets/icons/file-types/fsharp.svg | 1 - .../src/assets/icons/file-types/fusebox.svg | 1 - .../src/assets/icons/file-types/gamemaker.svg | 1 - .../ui/src/assets/icons/file-types/garden.svg | 1 - .../ui/src/assets/icons/file-types/gatsby.svg | 1 - .../ui/src/assets/icons/file-types/gcp.svg | 1 - .../src/assets/icons/file-types/gemfile.svg | 1 - .../src/assets/icons/file-types/gemini-ai.svg | 1 - .../ui/src/assets/icons/file-types/gemini.svg | 1 - .../ui/src/assets/icons/file-types/git.svg | 1 - .../file-types/github-actions-workflow.svg | 1 - .../icons/file-types/github-sponsors.svg | 1 - .../ui/src/assets/icons/file-types/gitlab.svg | 1 - .../ui/src/assets/icons/file-types/gitpod.svg | 1 - .../ui/src/assets/icons/file-types/gleam.svg | 1 - .../src/assets/icons/file-types/gnuplot.svg | 1 - .../ui/src/assets/icons/file-types/go-mod.svg | 1 - .../ui/src/assets/icons/file-types/go.svg | 1 - .../src/assets/icons/file-types/go_gopher.svg | 35 - .../assets/icons/file-types/godot-assets.svg | 1 - .../ui/src/assets/icons/file-types/godot.svg | 1 - .../ui/src/assets/icons/file-types/gradle.svg | 1 - .../assets/icons/file-types/grafana-alloy.svg | 1 - .../ui/src/assets/icons/file-types/grain.svg | 1 - .../src/assets/icons/file-types/graphcool.svg | 1 - .../src/assets/icons/file-types/graphql.svg | 1 - .../src/assets/icons/file-types/gridsome.svg | 1 - .../ui/src/assets/icons/file-types/groovy.svg | 1 - .../ui/src/assets/icons/file-types/grunt.svg | 1 - .../ui/src/assets/icons/file-types/gulp.svg | 1 - .../ui/src/assets/icons/file-types/h.svg | 1 - .../ui/src/assets/icons/file-types/hack.svg | 1 - .../src/assets/icons/file-types/hadolint.svg | 1 - .../ui/src/assets/icons/file-types/haml.svg | 1 - .../assets/icons/file-types/handlebars.svg | 1 - .../src/assets/icons/file-types/hardhat.svg | 1 - .../src/assets/icons/file-types/harmonix.svg | 1 - .../src/assets/icons/file-types/haskell.svg | 1 - .../ui/src/assets/icons/file-types/haxe.svg | 1 - .../ui/src/assets/icons/file-types/hcl.svg | 1 - .../src/assets/icons/file-types/hcl_light.svg | 1 - .../ui/src/assets/icons/file-types/helm.svg | 1 - .../ui/src/assets/icons/file-types/heroku.svg | 1 - .../ui/src/assets/icons/file-types/hex.svg | 1 - .../src/assets/icons/file-types/histoire.svg | 1 - .../ui/src/assets/icons/file-types/hjson.svg | 1 - .../src/assets/icons/file-types/horusec.svg | 1 - .../ui/src/assets/icons/file-types/hosts.svg | 1 - .../assets/icons/file-types/hosts_light.svg | 1 - .../ui/src/assets/icons/file-types/hpp.svg | 1 - .../ui/src/assets/icons/file-types/html.svg | 1 - .../ui/src/assets/icons/file-types/http.svg | 1 - .../ui/src/assets/icons/file-types/huff.svg | 1 - .../assets/icons/file-types/huff_light.svg | 1 - .../ui/src/assets/icons/file-types/hurl.svg | 1 - .../ui/src/assets/icons/file-types/husky.svg | 1 - .../ui/src/assets/icons/file-types/i18n.svg | 1 - .../ui/src/assets/icons/file-types/idris.svg | 1 - .../assets/icons/file-types/ifanr-cloud.svg | 1 - .../ui/src/assets/icons/file-types/image.svg | 1 - .../ui/src/assets/icons/file-types/imba.svg | 1 - .../assets/icons/file-types/installation.svg | 1 - .../ui/src/assets/icons/file-types/ionic.svg | 1 - .../src/assets/icons/file-types/istanbul.svg | 1 - .../ui/src/assets/icons/file-types/jar.svg | 1 - .../ui/src/assets/icons/file-types/java.svg | 1 - .../src/assets/icons/file-types/javaclass.svg | 1 - .../icons/file-types/javascript-map.svg | 1 - .../assets/icons/file-types/javascript.svg | 1 - .../src/assets/icons/file-types/jenkins.svg | 1 - .../ui/src/assets/icons/file-types/jest.svg | 1 - .../ui/src/assets/icons/file-types/jinja.svg | 1 - .../assets/icons/file-types/jinja_light.svg | 1 - .../src/assets/icons/file-types/jsconfig.svg | 1 - .../ui/src/assets/icons/file-types/json.svg | 1 - .../ui/src/assets/icons/file-types/jsr.svg | 1 - .../src/assets/icons/file-types/jsr_light.svg | 1 - .../ui/src/assets/icons/file-types/julia.svg | 1 - .../src/assets/icons/file-types/jupyter.svg | 1 - .../ui/src/assets/icons/file-types/just.svg | 1 - .../ui/src/assets/icons/file-types/karma.svg | 1 - .../ui/src/assets/icons/file-types/kcl.svg | 1 - .../ui/src/assets/icons/file-types/key.svg | 1 - .../src/assets/icons/file-types/keystatic.svg | 1 - .../ui/src/assets/icons/file-types/kivy.svg | 1 - .../ui/src/assets/icons/file-types/kl.svg | 1 - .../ui/src/assets/icons/file-types/knip.svg | 1 - .../ui/src/assets/icons/file-types/kotlin.svg | 1 - .../assets/icons/file-types/kubernetes.svg | 1 - .../ui/src/assets/icons/file-types/kusto.svg | 1 - .../ui/src/assets/icons/file-types/label.svg | 1 - .../src/assets/icons/file-types/laravel.svg | 1 - .../src/assets/icons/file-types/latexmk.svg | 1 - .../ui/src/assets/icons/file-types/lbx.svg | 1 - .../src/assets/icons/file-types/lefthook.svg | 1 - .../ui/src/assets/icons/file-types/lerna.svg | 1 - .../ui/src/assets/icons/file-types/less.svg | 1 - .../ui/src/assets/icons/file-types/liara.svg | 1 - .../ui/src/assets/icons/file-types/lib.svg | 1 - .../assets/icons/file-types/lighthouse.svg | 1 - .../src/assets/icons/file-types/lilypond.svg | 1 - .../assets/icons/file-types/lintstaged.svg | 1 - .../ui/src/assets/icons/file-types/liquid.svg | 1 - .../ui/src/assets/icons/file-types/lisp.svg | 1 - .../assets/icons/file-types/livescript.svg | 1 - .../ui/src/assets/icons/file-types/lock.svg | 1 - .../ui/src/assets/icons/file-types/log.svg | 1 - .../src/assets/icons/file-types/lolcode.svg | 1 - .../ui/src/assets/icons/file-types/lottie.svg | 1 - .../ui/src/assets/icons/file-types/lua.svg | 1 - .../ui/src/assets/icons/file-types/luau.svg | 1 - .../ui/src/assets/icons/file-types/lyric.svg | 1 - .../src/assets/icons/file-types/makefile.svg | 1 - .../icons/file-types/markdoc-config.svg | 1 - .../src/assets/icons/file-types/markdoc.svg | 1 - .../src/assets/icons/file-types/markdown.svg | 1 - .../assets/icons/file-types/markdownlint.svg | 1 - .../src/assets/icons/file-types/markojs.svg | 1 - .../assets/icons/file-types/mathematica.svg | 1 - .../ui/src/assets/icons/file-types/matlab.svg | 1 - .../ui/src/assets/icons/file-types/maven.svg | 1 - .../ui/src/assets/icons/file-types/mdsvex.svg | 1 - .../ui/src/assets/icons/file-types/mdx.svg | 1 - .../src/assets/icons/file-types/mercurial.svg | 1 - .../ui/src/assets/icons/file-types/merlin.svg | 1 - .../src/assets/icons/file-types/mermaid.svg | 1 - .../ui/src/assets/icons/file-types/meson.svg | 1 - .../icons/file-types/minecraft-fabric.svg | 1 - .../src/assets/icons/file-types/minecraft.svg | 1 - .../ui/src/assets/icons/file-types/mint.svg | 1 - .../ui/src/assets/icons/file-types/mjml.svg | 1 - .../ui/src/assets/icons/file-types/mocha.svg | 1 - .../src/assets/icons/file-types/modernizr.svg | 1 - .../ui/src/assets/icons/file-types/mojo.svg | 1 - .../ui/src/assets/icons/file-types/moon.svg | 1 - .../assets/icons/file-types/moonscript.svg | 1 - .../ui/src/assets/icons/file-types/mxml.svg | 1 - .../assets/icons/file-types/nano-staged.svg | 1 - .../icons/file-types/nano-staged_light.svg | 4 - .../ui/src/assets/icons/file-types/ndst.svg | 1 - .../ui/src/assets/icons/file-types/nest.svg | 1 - .../src/assets/icons/file-types/netlify.svg | 1 - .../assets/icons/file-types/netlify_light.svg | 1 - .../ui/src/assets/icons/file-types/next.svg | 1 - .../assets/icons/file-types/next_light.svg | 1 - .../ui/src/assets/icons/file-types/nginx.svg | 1 - .../assets/icons/file-types/ngrx-actions.svg | 1 - .../assets/icons/file-types/ngrx-effects.svg | 1 - .../assets/icons/file-types/ngrx-entity.svg | 1 - .../assets/icons/file-types/ngrx-reducer.svg | 1 - .../icons/file-types/ngrx-selectors.svg | 1 - .../assets/icons/file-types/ngrx-state.svg | 1 - .../ui/src/assets/icons/file-types/nim.svg | 1 - .../ui/src/assets/icons/file-types/nix.svg | 1 - .../ui/src/assets/icons/file-types/nodejs.svg | 1 - .../assets/icons/file-types/nodejs_alt.svg | 1 - .../src/assets/icons/file-types/nodemon.svg | 1 - .../ui/src/assets/icons/file-types/npm.svg | 1 - .../ui/src/assets/icons/file-types/nuget.svg | 1 - .../src/assets/icons/file-types/nunjucks.svg | 1 - .../ui/src/assets/icons/file-types/nuxt.svg | 1 - .../ui/src/assets/icons/file-types/nx.svg | 1 - .../assets/icons/file-types/objective-c.svg | 1 - .../assets/icons/file-types/objective-cpp.svg | 1 - .../ui/src/assets/icons/file-types/ocaml.svg | 1 - .../ui/src/assets/icons/file-types/odin.svg | 1 - .../ui/src/assets/icons/file-types/opa.svg | 9 - .../ui/src/assets/icons/file-types/opam.svg | 1 - .../src/assets/icons/file-types/openapi.svg | 1 - .../assets/icons/file-types/openapi_light.svg | 1 - .../ui/src/assets/icons/file-types/otne.svg | 1 - .../ui/src/assets/icons/file-types/oxlint.svg | 1 - .../src/assets/icons/file-types/packship.svg | 1 - .../src/assets/icons/file-types/palette.svg | 1 - .../ui/src/assets/icons/file-types/panda.svg | 1 - .../ui/src/assets/icons/file-types/parcel.svg | 1 - .../ui/src/assets/icons/file-types/pascal.svg | 1 - .../ui/src/assets/icons/file-types/pawn.svg | 1 - .../src/assets/icons/file-types/payload.svg | 1 - .../assets/icons/file-types/payload_light.svg | 1 - .../ui/src/assets/icons/file-types/pdf.svg | 1 - .../ui/src/assets/icons/file-types/pdm.svg | 1 - .../ui/src/assets/icons/file-types/percy.svg | 1 - .../ui/src/assets/icons/file-types/perl.svg | 1 - .../assets/icons/file-types/php-cs-fixer.svg | 1 - .../ui/src/assets/icons/file-types/php.svg | 1 - .../assets/icons/file-types/php_elephant.svg | 1 - .../icons/file-types/php_elephant_pink.svg | 1 - .../src/assets/icons/file-types/phpstan.svg | 1 - .../src/assets/icons/file-types/phpunit.svg | 1 - .../ui/src/assets/icons/file-types/pinejs.svg | 1 - .../src/assets/icons/file-types/pipeline.svg | 1 - .../ui/src/assets/icons/file-types/pkl.svg | 1 - .../src/assets/icons/file-types/plastic.svg | 1 - .../assets/icons/file-types/playwright.svg | 1 - .../ui/src/assets/icons/file-types/plop.svg | 1 - .../assets/icons/file-types/pm2-ecosystem.svg | 1 - .../ui/src/assets/icons/file-types/pnpm.svg | 1 - .../assets/icons/file-types/pnpm_light.svg | 1 - .../ui/src/assets/icons/file-types/poetry.svg | 1 - .../src/assets/icons/file-types/postcss.svg | 1 - .../src/assets/icons/file-types/posthtml.svg | 1 - .../assets/icons/file-types/powerpoint.svg | 1 - .../assets/icons/file-types/powershell.svg | 1 - .../assets/icons/file-types/pre-commit.svg | 1 - .../src/assets/icons/file-types/prettier.svg | 1 - .../ui/src/assets/icons/file-types/prisma.svg | 1 - .../assets/icons/file-types/processing.svg | 1 - .../ui/src/assets/icons/file-types/prolog.svg | 1 - .../ui/src/assets/icons/file-types/prompt.svg | 1 - .../ui/src/assets/icons/file-types/proto.svg | 1 - .../assets/icons/file-types/protractor.svg | 1 - .../ui/src/assets/icons/file-types/pug.svg | 1 - .../ui/src/assets/icons/file-types/puppet.svg | 1 - .../src/assets/icons/file-types/puppeteer.svg | 1 - .../assets/icons/file-types/purescript.svg | 1 - .../assets/icons/file-types/python-misc.svg | 1 - .../ui/src/assets/icons/file-types/python.svg | 1 - .../src/assets/icons/file-types/pytorch.svg | 1 - .../ui/src/assets/icons/file-types/qsharp.svg | 1 - .../ui/src/assets/icons/file-types/quarto.svg | 5 - .../ui/src/assets/icons/file-types/quasar.svg | 1 - .../ui/src/assets/icons/file-types/quokka.svg | 1 - .../ui/src/assets/icons/file-types/qwik.svg | 1 - .../ui/src/assets/icons/file-types/r.svg | 1 - .../ui/src/assets/icons/file-types/racket.svg | 1 - .../ui/src/assets/icons/file-types/raml.svg | 1 - .../ui/src/assets/icons/file-types/razor.svg | 1 - .../ui/src/assets/icons/file-types/rbxmk.svg | 1 - .../ui/src/assets/icons/file-types/rc.svg | 1 - .../ui/src/assets/icons/file-types/react.svg | 1 - .../src/assets/icons/file-types/react_ts.svg | 1 - .../ui/src/assets/icons/file-types/readme.svg | 1 - .../ui/src/assets/icons/file-types/reason.svg | 1 - .../ui/src/assets/icons/file-types/red.svg | 1 - .../assets/icons/file-types/redux-action.svg | 1 - .../assets/icons/file-types/redux-reducer.svg | 1 - .../icons/file-types/redux-selector.svg | 1 - .../assets/icons/file-types/redux-store.svg | 1 - .../src/assets/icons/file-types/regedit.svg | 1 - .../ui/src/assets/icons/file-types/remark.svg | 1 - .../ui/src/assets/icons/file-types/remix.svg | 1 - .../assets/icons/file-types/remix_light.svg | 1 - .../src/assets/icons/file-types/renovate.svg | 1 - .../ui/src/assets/icons/file-types/replit.svg | 1 - .../icons/file-types/rescript-interface.svg | 1 - .../src/assets/icons/file-types/rescript.svg | 1 - .../ui/src/assets/icons/file-types/restql.svg | 1 - .../ui/src/assets/icons/file-types/riot.svg | 1 - .../src/assets/icons/file-types/roadmap.svg | 1 - .../ui/src/assets/icons/file-types/roblox.svg | 1 - .../ui/src/assets/icons/file-types/robot.svg | 1 - .../ui/src/assets/icons/file-types/robots.svg | 1 - .../ui/src/assets/icons/file-types/rocket.svg | 1 - .../ui/src/assets/icons/file-types/rojo.svg | 1 - .../ui/src/assets/icons/file-types/rollup.svg | 1 - .../ui/src/assets/icons/file-types/rome.svg | 6 - .../src/assets/icons/file-types/routing.svg | 1 - .../ui/src/assets/icons/file-types/rspec.svg | 1 - .../src/assets/icons/file-types/rubocop.svg | 1 - .../assets/icons/file-types/rubocop_light.svg | 1 - .../ui/src/assets/icons/file-types/ruby.svg | 1 - .../ui/src/assets/icons/file-types/ruff.svg | 1 - .../ui/src/assets/icons/file-types/rust.svg | 1 - .../assets/icons/file-types/salesforce.svg | 1 - .../ui/src/assets/icons/file-types/san.svg | 1 - .../ui/src/assets/icons/file-types/sas.svg | 1 - .../ui/src/assets/icons/file-types/sass.svg | 1 - .../ui/src/assets/icons/file-types/sbt.svg | 1 - .../ui/src/assets/icons/file-types/scala.svg | 1 - .../ui/src/assets/icons/file-types/scheme.svg | 1 - .../ui/src/assets/icons/file-types/scons.svg | 1 - .../assets/icons/file-types/scons_light.svg | 1 - .../assets/icons/file-types/screwdriver.svg | 1 - .../ui/src/assets/icons/file-types/search.svg | 1 - .../icons/file-types/semantic-release.svg | 1 - .../file-types/semantic-release_light.svg | 1 - .../src/assets/icons/file-types/semgrep.svg | 1 - .../ui/src/assets/icons/file-types/sentry.svg | 1 - .../src/assets/icons/file-types/sequelize.svg | 1 - .../assets/icons/file-types/serverless.svg | 1 - .../src/assets/icons/file-types/settings.svg | 1 - .../ui/src/assets/icons/file-types/shader.svg | 1 - .../assets/icons/file-types/silverstripe.svg | 1 - .../src/assets/icons/file-types/simulink.svg | 1 - .../ui/src/assets/icons/file-types/siyuan.svg | 1 - .../ui/src/assets/icons/file-types/sketch.svg | 1 - .../ui/src/assets/icons/file-types/slim.svg | 1 - .../ui/src/assets/icons/file-types/slint.svg | 1 - .../ui/src/assets/icons/file-types/slug.svg | 1 - .../ui/src/assets/icons/file-types/smarty.svg | 1 - .../ui/src/assets/icons/file-types/sml.svg | 1 - .../src/assets/icons/file-types/snakemake.svg | 1 - .../src/assets/icons/file-types/snapcraft.svg | 1 - .../src/assets/icons/file-types/snowpack.svg | 1 - .../icons/file-types/snowpack_light.svg | 1 - .../ui/src/assets/icons/file-types/snyk.svg | 1 - .../src/assets/icons/file-types/solidity.svg | 1 - .../assets/icons/file-types/sonarcloud.svg | 1 - .../ui/src/assets/icons/file-types/sprite.svg | 6509 ---------------- .../ui/src/assets/icons/file-types/spwn.svg | 1 - .../assets/icons/file-types/stackblitz.svg | 1 - .../ui/src/assets/icons/file-types/stan.svg | 1 - .../src/assets/icons/file-types/steadybit.svg | 1 - .../src/assets/icons/file-types/stencil.svg | 1 - .../src/assets/icons/file-types/stitches.svg | 1 - .../icons/file-types/stitches_light.svg | 10 - .../src/assets/icons/file-types/storybook.svg | 1 - .../src/assets/icons/file-types/stryker.svg | 1 - .../src/assets/icons/file-types/stylable.svg | 1 - .../src/assets/icons/file-types/stylelint.svg | 1 - .../icons/file-types/stylelint_light.svg | 13 - .../ui/src/assets/icons/file-types/stylus.svg | 1 - .../src/assets/icons/file-types/sublime.svg | 1 - .../src/assets/icons/file-types/subtitles.svg | 1 - .../src/assets/icons/file-types/supabase.svg | 1 - .../ui/src/assets/icons/file-types/svelte.svg | 1 - .../ui/src/assets/icons/file-types/svg.svg | 1 - .../ui/src/assets/icons/file-types/svgo.svg | 1 - .../ui/src/assets/icons/file-types/svgr.svg | 1 - .../src/assets/icons/file-types/swagger.svg | 1 - .../ui/src/assets/icons/file-types/sway.svg | 1 - .../ui/src/assets/icons/file-types/swc.svg | 1 - .../ui/src/assets/icons/file-types/swift.svg | 1 - .../src/assets/icons/file-types/syncpack.svg | 1 - .../src/assets/icons/file-types/systemd.svg | 1 - .../assets/icons/file-types/systemd_light.svg | 1 - .../ui/src/assets/icons/file-types/table.svg | 1 - .../assets/icons/file-types/tailwindcss.svg | 1 - .../src/assets/icons/file-types/taskfile.svg | 1 - .../ui/src/assets/icons/file-types/tauri.svg | 1 - .../ui/src/assets/icons/file-types/taze.svg | 1 - .../ui/src/assets/icons/file-types/tcl.svg | 1 - .../ui/src/assets/icons/file-types/teal.svg | 1 - .../ui/src/assets/icons/file-types/templ.svg | 1 - .../src/assets/icons/file-types/template.svg | 1 - .../src/assets/icons/file-types/terraform.svg | 1 - .../src/assets/icons/file-types/test-js.svg | 1 - .../src/assets/icons/file-types/test-jsx.svg | 1 - .../src/assets/icons/file-types/test-ts.svg | 1 - .../ui/src/assets/icons/file-types/tex.svg | 1 - .../src/assets/icons/file-types/textlint.svg | 1 - .../ui/src/assets/icons/file-types/tilt.svg | 1 - .../ui/src/assets/icons/file-types/tldraw.svg | 1 - .../assets/icons/file-types/tldraw_light.svg | 1 - .../ui/src/assets/icons/file-types/tobi.svg | 1 - .../src/assets/icons/file-types/tobimake.svg | 1 - .../ui/src/assets/icons/file-types/todo.svg | 1 - .../ui/src/assets/icons/file-types/toml.svg | 1 - .../assets/icons/file-types/toml_light.svg | 1 - .../ui/src/assets/icons/file-types/travis.svg | 1 - .../ui/src/assets/icons/file-types/tree.svg | 1 - .../src/assets/icons/file-types/trigger.svg | 1 - .../src/assets/icons/file-types/tsconfig.svg | 1 - .../ui/src/assets/icons/file-types/tsdoc.svg | 1 - .../ui/src/assets/icons/file-types/tsil.svg | 1 - .../ui/src/assets/icons/file-types/tune.svg | 1 - .../src/assets/icons/file-types/turborepo.svg | 1 - .../icons/file-types/turborepo_light.svg | 1 - .../ui/src/assets/icons/file-types/twig.svg | 1 - .../ui/src/assets/icons/file-types/twine.svg | 1 - .../icons/file-types/typescript-def.svg | 1 - .../assets/icons/file-types/typescript.svg | 1 - .../ui/src/assets/icons/file-types/typst.svg | 1 - .../ui/src/assets/icons/file-types/umi.svg | 1 - .../ui/src/assets/icons/file-types/uml.svg | 1 - .../src/assets/icons/file-types/uml_light.svg | 1 - .../ui/src/assets/icons/file-types/unity.svg | 1 - .../ui/src/assets/icons/file-types/unocss.svg | 5 - .../ui/src/assets/icons/file-types/url.svg | 1 - .../ui/src/assets/icons/file-types/uv.svg | 1 - .../src/assets/icons/file-types/vagrant.svg | 1 - .../ui/src/assets/icons/file-types/vala.svg | 1 - .../icons/file-types/vanilla-extract.svg | 1 - .../src/assets/icons/file-types/varnish.svg | 1 - .../ui/src/assets/icons/file-types/vedic.svg | 1 - .../ui/src/assets/icons/file-types/velite.svg | 1 - .../src/assets/icons/file-types/velocity.svg | 1 - .../ui/src/assets/icons/file-types/vercel.svg | 1 - .../assets/icons/file-types/vercel_light.svg | 1 - .../src/assets/icons/file-types/verdaccio.svg | 1 - .../src/assets/icons/file-types/verified.svg | 1 - .../src/assets/icons/file-types/verilog.svg | 1 - .../ui/src/assets/icons/file-types/vfl.svg | 1 - .../ui/src/assets/icons/file-types/video.svg | 1 - .../ui/src/assets/icons/file-types/vim.svg | 1 - .../src/assets/icons/file-types/virtual.svg | 1 - .../assets/icons/file-types/visualstudio.svg | 1 - .../ui/src/assets/icons/file-types/vite.svg | 1 - .../ui/src/assets/icons/file-types/vitest.svg | 1 - .../ui/src/assets/icons/file-types/vlang.svg | 6 - .../ui/src/assets/icons/file-types/vscode.svg | 1 - .../assets/icons/file-types/vue-config.svg | 1 - .../ui/src/assets/icons/file-types/vue.svg | 1 - .../assets/icons/file-types/vuex-store.svg | 1 - .../src/assets/icons/file-types/wakatime.svg | 1 - .../icons/file-types/wakatime_light.svg | 1 - .../src/assets/icons/file-types/wallaby.svg | 1 - .../ui/src/assets/icons/file-types/wally.svg | 1 - .../src/assets/icons/file-types/watchman.svg | 1 - .../assets/icons/file-types/webassembly.svg | 1 - .../src/assets/icons/file-types/webhint.svg | 1 - .../src/assets/icons/file-types/webpack.svg | 1 - .../ui/src/assets/icons/file-types/wepy.svg | 1 - .../ui/src/assets/icons/file-types/werf.svg | 1 - .../src/assets/icons/file-types/windicss.svg | 1 - .../icons/file-types/wolframlanguage.svg | 1 - .../ui/src/assets/icons/file-types/word.svg | 1 - .../src/assets/icons/file-types/wrangler.svg | 1 - .../ui/src/assets/icons/file-types/wxt.svg | 1 - .../ui/src/assets/icons/file-types/xaml.svg | 1 - .../ui/src/assets/icons/file-types/xmake.svg | 1 - .../ui/src/assets/icons/file-types/xml.svg | 1 - .../ui/src/assets/icons/file-types/yaml.svg | 1 - .../ui/src/assets/icons/file-types/yang.svg | 1 - .../ui/src/assets/icons/file-types/yarn.svg | 1 - .../ui/src/assets/icons/file-types/zeabur.svg | 1 - .../assets/icons/file-types/zeabur_light.svg | 1 - .../ui/src/assets/icons/file-types/zig.svg | 1 - .../ui/src/assets/icons/file-types/zip.svg | 1 - .../provider-logos/bailian-coding-plan.svg | 3 - .../ui/src/assets/provider-logos/cursor.svg | 6 - .../ui/src/assets/provider-logos/evroc.svg | 3 - .../ui/src/assets/provider-logos/gocode.svg | 2 - .../ui/src/assets/provider-logos/lmstudio.svg | 1 - .../ui/src/assets/provider-logos/ollama.svg | 1 - .../src/components/auth/SessionAuthGate.tsx | 607 -- .../chat/AgentMentionAutocomplete.tsx | 250 - .../src/components/chat/ChangedFilesList.tsx | 65 - .../ui/src/components/chat/ChatContainer.tsx | 942 --- .../ui/src/components/chat/ChatEmptyState.tsx | 31 - .../src/components/chat/ChatErrorBoundary.tsx | 119 - .../ui/src/components/chat/ChatInput.tsx | 3821 ---------- .../ui/src/components/chat/ChatMessage.tsx | 1158 --- .../components/chat/CommandAutocomplete.tsx | 442 -- .../ui/src/components/chat/DiffPreview.tsx | 122 - .../ui/src/components/chat/FileAttachment.tsx | 680 -- .../chat/FileMentionAutocomplete.tsx | 682 -- .../src/components/chat/MarkdownRenderer.tsx | 32 - .../components/chat/MarkdownRendererImpl.tsx | 1553 ---- .../ui/src/components/chat/MessageList.tsx | 1666 ---- .../src/components/chat/MobileAgentButton.tsx | 96 - .../src/components/chat/MobileModelButton.tsx | 38 - .../chat/MobileSessionStatusBar.tsx | 1575 ---- .../ui/src/components/chat/ModelControls.tsx | 3325 -------- .../src/components/chat/PendingChangesBar.tsx | 150 - .../ui/src/components/chat/PermissionCard.tsx | 472 -- .../src/components/chat/PermissionRequest.tsx | 132 - .../chat/PermissionToastActions.tsx | 139 - .../ui/src/components/chat/QuestionCard.tsx | 438 -- .../components/chat/QueuedMessageChips.tsx | 117 - .../src/components/chat/SkillAutocomplete.tsx | 173 - .../ui/src/components/chat/StatusChip.tsx | 67 - .../ui/src/components/chat/StatusRow.tsx | 365 - .../components/chat/StatusRowContainer.tsx | 44 - .../src/components/chat/StreamingTextDiff.tsx | 0 .../ui/src/components/chat/TimelineDialog.tsx | 241 - .../chat/TurnChangedFilesDropdown.tsx | 130 - .../ui/src/components/chat/changedFiles.ts | 195 - .../components/chat/changedFilesPopover.ts | 10 - .../chat/components/ScrollToBottomButton.tsx | 35 - .../chat/components/TurnActivity.tsx | 38 - .../chat/components/TurnAssistantBlock.tsx | 18 - .../components/chat/components/TurnItem.tsx | 39 - .../components/chat/components/TurnList.tsx | 27 - .../chat/hooks/useChatTimelineController.ts | 517 -- .../chat/hooks/useChatTurnNavigation.ts | 198 - .../chat/hooks/useStreamingTextThrottle.ts | 111 - .../components/chat/hooks/useTurnLookup.ts | 26 - .../components/chat/hooks/useTurnRecords.ts | 89 - .../components/chat/lib/blockingRequests.ts | 61 - .../chat/lib/scroll/scrollIntent.ts | 78 - .../components/chat/lib/scroll/scrollSpy.ts | 331 - .../chat/lib/turns/applyRetryOverlay.ts | 91 - .../components/chat/lib/turns/constants.ts | 11 - .../chat/lib/turns/historySignals.ts | 67 - .../chat/lib/turns/projectTurnActivity.ts | 213 - .../chat/lib/turns/projectTurnIndexes.ts | 64 - .../chat/lib/turns/projectTurnRecords.ts | 197 - .../chat/lib/turns/projectTurnSummary.ts | 104 - .../chat/lib/turns/stabilizeTurnProjection.ts | 78 - .../components/chat/lib/turns/stageTurns.ts | 159 - .../ui/src/components/chat/lib/turns/types.ts | 123 - .../components/chat/lib/turns/windowTurns.ts | 242 - .../chat/message/DiffViewToggle.tsx | 39 - .../chat/message/FadeInOnReveal.tsx | 84 - .../components/chat/message/MessageBody.tsx | 1835 ----- .../components/chat/message/MessageHeader.tsx | 99 - .../chat/message/TextSelectionMenu.tsx | 714 -- .../chat/message/ToolOutputDialog.tsx | 1237 --- .../components/chat/message/messageRole.ts | 34 - .../chat/message/normalizeUserDisplayParts.ts | 131 - .../src/components/chat/message/partUtils.ts | 70 - .../chat/message/parts/AssistantTextPart.tsx | 92 - .../chat/message/parts/BusyDots.tsx | 25 - .../chat/message/parts/DOCUMENTATION.md | 87 - .../chat/message/parts/JustificationBlock.tsx | 59 - .../chat/message/parts/MigratingPart.tsx | 31 - .../message/parts/MinDurationShineText.tsx | 91 - .../chat/message/parts/ProgressiveGroup.tsx | 966 --- .../chat/message/parts/ReasoningPart.tsx | 244 - .../message/parts/SessionActiveSpinner.tsx | 270 - .../chat/message/parts/ToolPart.tsx | 2666 ------- .../chat/message/parts/ToolRevealOnMount.tsx | 125 - .../chat/message/parts/UserTextPart.tsx | 179 - .../message/parts/VirtualizedCodeBlock.tsx | 339 - .../chat/message/parts/WorkingPlaceholder.tsx | 232 - .../resolveFallbackTaskSessionId.test.js | 253 - .../message/parts/assistantTextVisibility.ts | 17 - .../parts/resolveFallbackTaskSessionId.ts | 103 - .../chat/message/parts/toolPresentation.tsx | 87 - .../chat/message/parts/toolRenderUtils.ts | 44 - .../chat/message/parts/useDurationTicker.ts | 70 - .../components/chat/message/renderCompare.ts | 305 - .../src/components/chat/message/timeFormat.ts | 48 - .../components/chat/message/toolRenderers.tsx | 815 -- .../ui/src/components/chat/message/types.ts | 37 - .../components/chat/mobileControlsUtils.ts | 123 - .../comments/CodeMirrorCommentWidgets.tsx | 106 - .../components/comments/InlineCommentCard.tsx | 122 - .../comments/InlineCommentInput.tsx | 184 - .../comments/PierreDiffCommentOverlays.tsx | 230 - .../comments/PierreDiffCommentUtils.ts | 57 - .../ui/src/components/comments/index.ts | 6 - .../comments/useInlineCommentController.ts | 156 - .../desktop/DesktopHostSwitcher.tsx | 1434 ---- .../components/desktop/OpenInAppButton.tsx | 216 - .../ui/src/components/icons/ArrowsMerge.tsx | 19 - .../ui/src/components/icons/DiffIcon.tsx | 27 - .../ui/src/components/icons/FileTypeIcon.tsx | 26 - .../ui/src/components/icons/McpIcon.tsx | 20 - .../ui/src/components/icons/StopIcon.tsx | 20 - .../components/layout/BottomTerminalDock.tsx | 196 - .../ui/src/components/layout/ContextPanel.tsx | 585 -- .../components/layout/ContextSidebarTab.tsx | 604 -- .../ui/src/components/layout/Header.tsx | 2252 ------ .../ui/src/components/layout/MainLayout.tsx | 744 -- .../layout/ProjectActionsButton.tsx | 838 --- .../components/layout/ProjectEditDialog.tsx | 435 -- .../ui/src/components/layout/RightSidebar.tsx | 203 - .../components/layout/RightSidebarTabs.tsx | 140 - .../ui/src/components/layout/Sidebar.tsx | 166 - .../components/layout/SidebarFilesTree.tsx | 968 --- .../ui/src/components/layout/VSCodeLayout.tsx | 852 --- .../ui/src/components/mcp/McpDropdown.tsx | 446 -- .../src/components/multirun/AgentSelector.tsx | 115 - .../components/multirun/BranchSelector.tsx | 202 - .../components/multirun/ModelMultiSelect.tsx | 580 -- .../components/multirun/MultiRunLauncher.tsx | 953 --- .../ui/src/components/multirun/index.ts | 4 - .../components/onboarding/ChooserScreen.tsx | 422 -- .../onboarding/DesktopConnectionRecovery.tsx | 138 - .../onboarding/LocalSetupScreen.tsx | 382 - .../onboarding/OnboardingScreen.tsx | 96 - .../components/onboarding/RecoveryScreen.tsx | 129 - .../onboarding/RemoteConnectionForm.tsx | 320 - .../onboarding/desktopRecoveryConfig.test.ts | 248 - .../onboarding/desktopRecoveryConfig.ts | 138 - .../onboarding/desktopRecoveryRouting.test.ts | 49 - .../onboarding/desktopRecoveryRouting.ts | 32 - .../components/providers/ThemeProvider.tsx | 20 - .../sections/SectionPlaceholder.tsx | 44 - .../components/sections/agents/AgentsPage.tsx | 1111 --- .../sections/agents/AgentsSidebar.tsx | 638 -- .../sections/agents/ModelSelector.tsx | 705 -- .../sections/commands/AgentSelector.tsx | 178 - .../sections/commands/CommandsPage.tsx | 356 - .../sections/commands/CommandsSidebar.tsx | 498 -- .../GitIdentityEditorDialog.tsx | 469 -- .../sections/git-identities/GitPage.tsx | 363 - .../magic-prompts/MagicPromptsPage.tsx | 369 - .../magic-prompts/MagicPromptsSidebar.tsx | 90 - .../sections/mcp/McpOAuthCallbackPage.tsx | 124 - .../src/components/sections/mcp/McpPage.tsx | 1978 ----- .../components/sections/mcp/McpSidebar.tsx | 400 - .../src/components/sections/mcp/mcpImport.ts | 339 - .../src/components/sections/mcp/mcpOAuth.ts | 82 - .../sections/openchamber/AboutSettings.tsx | 239 - .../sections/openchamber/DefaultsSettings.tsx | 334 - .../openchamber/DesktopNetworkSettings.tsx | 196 - .../sections/openchamber/GitHubSettings.tsx | 416 - .../sections/openchamber/GitSettings.tsx | 206 - .../openchamber/KeyboardShortcutsSettings.tsx | 269 - .../openchamber/NotificationSettings.tsx | 995 --- .../sections/openchamber/OpenChamberPage.tsx | 196 - .../openchamber/OpenChamberVisualSettings.tsx | 1727 ----- .../openchamber/OpenCodeCliSettings.tsx | 165 - .../sections/openchamber/PasskeySettings.tsx | 263 - .../openchamber/SessionRetentionSettings.tsx | 176 - .../sections/openchamber/TunnelSettings.tsx | 1761 ----- .../sections/openchamber/VoiceSettings.tsx | 938 --- .../openchamber/WorktreeSectionContent.tsx | 390 - .../components/sections/openchamber/types.ts | 10 - .../projects/ProjectActionsSection.tsx | 436 -- .../sections/projects/ProjectsPage.tsx | 502 -- .../sections/projects/ProjectsSidebar.tsx | 124 - .../sections/providers/ProvidersPage.tsx | 1117 --- .../sections/providers/ProvidersSidebar.tsx | 215 - .../remote-instances/RemoteInstancesPage.tsx | 1637 ---- .../RemoteInstancesSidebar.tsx | 225 - .../sections/shared/SettingsPageLayout.tsx | 48 - .../shared/SettingsProjectSelector.tsx | 91 - .../sections/shared/SettingsSection.tsx | 62 - .../sections/shared/SettingsSidebarHeader.tsx | 63 - .../sections/shared/SettingsSidebarItem.tsx | 134 - .../sections/shared/SettingsSidebarLayout.tsx | 118 - .../sections/shared/SidebarGroup.tsx | 81 - .../src/components/sections/shared/index.ts | 57 - .../components/sections/skills/SkillsPage.tsx | 670 -- .../sections/skills/SkillsSidebar.tsx | 524 -- .../skills/catalog/AddCatalogDialog.tsx | 345 - .../skills/catalog/InstallConflictsDialog.tsx | 142 - .../skills/catalog/InstallFromRepoDialog.tsx | 564 -- .../skills/catalog/InstallSkillDialog.tsx | 313 - .../skills/catalog/SkillsCatalogPage.tsx | 420 -- .../src/components/sections/skills/index.ts | 2 - .../sections/skills/skillLocations.ts | 60 - .../sections/usage/PaceIndicator.tsx | 99 - .../components/sections/usage/UsageCard.tsx | 92 - .../components/sections/usage/UsagePage.tsx | 371 - .../sections/usage/UsageProgressBar.tsx | 54 - .../sections/usage/UsageSidebar.tsx | 189 - .../components/session/BranchPickerDialog.tsx | 584 -- .../session/DirectoryAutocomplete.tsx | 314 - .../session/DirectoryExplorerDialog.tsx | 648 -- .../src/components/session/DirectoryTree.tsx | 1316 ---- .../session/GitHubIntegrationDialog.tsx | 626 -- .../session/GitHubIssuePickerDialog.tsx | 724 -- .../session/GitHubPrPickerDialog.tsx | 449 -- .../components/session/NewWorktreeDialog.tsx | 2032 ----- .../session/ProjectNotesTodoPanel.tsx | 749 -- .../session/SaveProjectPlanDialog.tsx | 73 - .../session/ScheduledTaskEditorDialog.tsx | 1519 ---- .../session/ScheduledTasksDialog.tsx | 637 -- .../src/components/session/SessionDialogs.tsx | 805 -- .../components/session/SessionFolderItem.tsx | 347 - .../src/components/session/SessionSidebar.tsx | 1771 ----- .../src/components/session/TodoSendDialog.tsx | 238 - .../session/sidebar/BulkActionBar.tsx | 136 - .../session/sidebar/ConfirmDialogs.tsx | 223 - .../session/sidebar/DOCUMENTATION.md | 52 - .../session/sidebar/SessionGroupSection.tsx | 747 -- .../session/sidebar/SessionNodeItem.tsx | 929 --- .../sidebar/SidebarActivitySections.tsx | 114 - .../session/sidebar/SidebarFooter.tsx | 71 - .../session/sidebar/SidebarHeader.tsx | 302 - .../session/sidebar/SidebarProjectsList.tsx | 241 - .../session/sidebar/activitySections.ts | 124 - .../sidebar/hooks/useArchivedAutoFolders.ts | 120 - .../sidebar/hooks/useDirectoryStatusProbe.ts | 187 - .../session/sidebar/hooks/useGroupOrdering.ts | 31 - .../sidebar/hooks/useProjectRepoStatus.ts | 83 - .../sidebar/hooks/useProjectSessionLists.ts | 133 - .../hooks/useProjectSessionSelection.ts | 186 - .../sidebar/hooks/useSessionActions.ts | 258 - .../sidebar/hooks/useSessionFolderCleanup.ts | 94 - .../sidebar/hooks/useSessionGrouping.ts | 253 - .../sidebar/hooks/useSessionPrefetch.ts | 129 - .../sidebar/hooks/useSessionSearchEffects.ts | 42 - .../hooks/useSessionSidebarSections.ts | 174 - .../sidebar/hooks/useSidebarPersistence.ts | 173 - .../sidebar/hooks/useStickyProjectHeaders.ts | 50 - .../session/sidebar/sessionFolderDnd.tsx | 134 - .../session/sidebar/sortableItems.tsx | 367 - .../src/components/session/sidebar/types.ts | 36 - .../src/components/session/sidebar/utils.tsx | 284 - .../components/terminal/TerminalViewport.tsx | 1580 ---- .../ui/src/components/ui/AboutDialog.tsx | 189 - .../ui/src/components/ui/CodeMirrorEditor.tsx | 418 -- .../ui/src/components/ui/CommandPalette.tsx | 315 - .../src/components/ui/ConfigUpdateOverlay.tsx | 27 - .../src/components/ui/ContextUsageDisplay.tsx | 174 - .../ui/src/components/ui/ErrorBoundary.tsx | 141 - .../src/components/ui/FireworksAnimation.tsx | 101 - .../ui/src/components/ui/HelpDialog.tsx | 318 - .../ui/src/components/ui/JsonTreeView.tsx | 102 - .../ui/src/components/ui/JsonTreeViewer.tsx | 304 - .../ui/src/components/ui/MemoryDebugPanel.tsx | 380 - .../src/components/ui/MobileOverlayPanel.tsx | 123 - .../ui/src/components/ui/OpenChamberLogo.tsx | 268 - .../ui/src/components/ui/OpenCodeIcon.tsx | 35 - .../ui/src/components/ui/OpenCodeLogo.tsx | 41 - .../components/ui/OpenCodeStatusDialog.tsx | 59 - .../ui/src/components/ui/OverlayScrollbar.tsx | 360 - .../ui/src/components/ui/ProviderLogo.tsx | 37 - .../ui/src/components/ui/QuickOpenDialog.tsx | 257 - .../ui/src/components/ui/ScrollShadow.tsx | 173 - .../src/components/ui/ScrollableOverlay.tsx | 100 - .../ui/src/components/ui/TextLoop.tsx | 83 - .../ui/src/components/ui/UpdateDialog.tsx | 532 -- src/packages/ui/src/components/ui/alert.tsx | 66 - src/packages/ui/src/components/ui/button.tsx | 113 - src/packages/ui/src/components/ui/card.tsx | 92 - .../ui/src/components/ui/checkbox.tsx | 72 - .../ui/src/components/ui/collapsible.tsx | 47 - src/packages/ui/src/components/ui/command.tsx | 243 - src/packages/ui/src/components/ui/dialog.tsx | 188 - .../ui/src/components/ui/dropdown-menu.tsx | 365 - .../ui/src/components/ui/fancy-button.tsx | 134 - src/packages/ui/src/components/ui/index.ts | 2 - src/packages/ui/src/components/ui/input.tsx | 28 - .../ui/src/components/ui/number-input.tsx | 321 - src/packages/ui/src/components/ui/radio.tsx | 75 - .../ui/src/components/ui/scroll-area.tsx | 56 - src/packages/ui/src/components/ui/select.tsx | 320 - .../ui/src/components/ui/separator.tsx | 26 - .../ui/src/components/ui/skeleton.tsx | 13 - src/packages/ui/src/components/ui/slider.tsx | 64 - src/packages/ui/src/components/ui/slot.tsx | 50 - src/packages/ui/src/components/ui/sonner.tsx | 136 - .../src/components/ui/sortable-tabs-strip.tsx | 509 -- src/packages/ui/src/components/ui/switch.tsx | 29 - src/packages/ui/src/components/ui/text.tsx | 201 - .../ui/src/components/ui/textarea.tsx | 231 - src/packages/ui/src/components/ui/toast.ts | 86 - src/packages/ui/src/components/ui/toggle.tsx | 47 - src/packages/ui/src/components/ui/tooltip.tsx | 95 - .../ui/src/components/ui/typewriter-text.tsx | 61 - .../ui/src/components/views/ChatView.tsx | 14 - .../ui/src/components/views/DiffView.tsx | 1788 ----- .../ui/src/components/views/FilesView.tsx | 3331 -------- .../ui/src/components/views/GitView.tsx | 2309 ------ .../src/components/views/GoToLineDialog.tsx | 256 - .../src/components/views/MultiRunWindow.tsx | 74 - .../src/components/views/PierreDiffViewer.tsx | 751 -- .../ui/src/components/views/PlanView.tsx | 826 -- .../components/views/PreviewToggleButton.tsx | 51 - .../ui/src/components/views/SettingsView.tsx | 828 -- .../src/components/views/SettingsWindow.tsx | 57 - .../ui/src/components/views/TerminalView.tsx | 1136 --- .../views/agent-manager/AgentGroupDetail.tsx | 369 - .../agent-manager/AgentManagerEmptyState.tsx | 693 -- .../agent-manager/AgentManagerSidebar.tsx | 306 - .../views/agent-manager/AgentManagerView.tsx | 138 - .../components/views/agent-manager/index.ts | 3 - .../components/views/git/AIHighlightsBox.tsx | 55 - .../views/git/BranchIntegrationSection.tsx | 471 -- .../components/views/git/BranchSelector.tsx | 354 - .../ui/src/components/views/git/ChangeRow.tsx | 173 - .../components/views/git/ChangesSection.tsx | 562 -- .../src/components/views/git/CommitInput.tsx | 76 - .../components/views/git/CommitSection.tsx | 191 - .../components/views/git/ConflictDialog.tsx | 272 - .../components/views/git/GitEmptyState.tsx | 46 - .../ui/src/components/views/git/GitHeader.tsx | 305 - .../components/views/git/HistoryCommitRow.tsx | 162 - .../components/views/git/HistorySection.tsx | 193 - .../views/git/InProgressOperationBanner.tsx | 154 - .../views/git/IntegrateCommitsSection.tsx | 519 -- .../views/git/PullRequestSection.tsx | 1970 ----- .../src/components/views/git/StashDialog.tsx | 129 - .../src/components/views/git/SyncActions.tsx | 272 - .../views/git/WorktreeBranchDisplay.tsx | 144 - .../ui/src/components/views/git/index.ts | 14 - src/packages/ui/src/components/views/index.ts | 9 - .../components/voice/BrowserVoiceButton.tsx | 381 - .../ui/src/components/voice/VoiceProvider.tsx | 30 - .../components/voice/VoiceStatusIndicator.tsx | 146 - src/packages/ui/src/components/voice/index.ts | 3 - src/packages/ui/src/constants/sidebar.ts | 85 - .../ui/src/contexts/DiffWorkerProvider.tsx | 142 - .../ui/src/contexts/DrawerContext.tsx | 41 - .../ui/src/contexts/FireworksContext.tsx | 35 - .../ui/src/contexts/RuntimeAPIProvider.tsx | 146 - .../ui/src/contexts/ThemeSystemContext.tsx | 781 -- .../ui/src/contexts/runtimeAPIContext.ts | 4 - .../ui/src/contexts/runtimeAPIRegistry.ts | 9 - .../ui/src/contexts/theme-system-context.ts | 21 - .../ui/src/contexts/useThemeSystem.ts | 15 - .../ui/src/hooks/useAssistantStatus.ts | 464 -- .../ui/src/hooks/useAssistantTyping.ts | 229 - .../ui/src/hooks/useAvailableTools.ts | 49 - src/packages/ui/src/hooks/useBrowserVoice.ts | 872 --- .../ui/src/hooks/useChatScrollManager.ts | 803 -- .../ui/src/hooks/useChatSearchDirectory.ts | 52 - .../ui/src/hooks/useDebouncedValue.ts | 17 - .../ui/src/hooks/useDetectedWorktreeRoot.ts | 116 - src/packages/ui/src/hooks/useDrawerSwipe.ts | 194 - src/packages/ui/src/hooks/useEdgeSwipe.ts | 130 - .../ui/src/hooks/useEffectiveDirectory.ts | 49 - .../ui/src/hooks/useFileSystemAccess.ts | 41 - src/packages/ui/src/hooks/useFireworks.ts | 53 - .../ui/src/hooks/useFontPreferences.ts | 17 - .../ui/src/hooks/useIsTextTruncated.ts | 46 - .../ui/src/hooks/useKeyboardShortcuts.ts | 455 -- src/packages/ui/src/hooks/useLongPress.ts | 100 - src/packages/ui/src/hooks/useMenuActions.ts | 317 - src/packages/ui/src/hooks/useMessageTTS.ts | 149 - src/packages/ui/src/hooks/useModelLists.ts | 58 - src/packages/ui/src/hooks/usePlanDetection.ts | 48 - src/packages/ui/src/hooks/useProviderLogo.ts | 96 - .../ui/src/hooks/usePushVisibilityBeacon.ts | 63 - src/packages/ui/src/hooks/usePwaDetection.ts | 57 - .../ui/src/hooks/usePwaInstallPrompt.ts | 97 - .../ui/src/hooks/usePwaManifestSync.ts | 91 - .../ui/src/hooks/useQueuedMessageAutoSend.ts | 194 - src/packages/ui/src/hooks/useRouter.ts | 347 - src/packages/ui/src/hooks/useRuntimeAPIs.ts | 18 - src/packages/ui/src/hooks/useSayTTS.ts | 308 - src/packages/ui/src/hooks/useScrollEngine.ts | 329 - src/packages/ui/src/hooks/useServerTTS.ts | 371 - .../ui/src/hooks/useSessionActivity.ts | 70 - .../ui/src/hooks/useSessionAutoCleanup.ts | 230 - .../ui/src/hooks/useSessionStatusBootstrap.ts | 8 - .../ui/src/hooks/useTimelineStaging.ts | 141 - src/packages/ui/src/hooks/useVoiceContext.ts | 57 - .../hooks/useWindowControlsOverlayLayout.ts | 105 - src/packages/ui/src/hooks/useWindowTitle.ts | 124 - src/packages/ui/src/index.css | 1435 ---- src/packages/ui/src/lib/agentColors.ts | 37 - src/packages/ui/src/lib/api/types.ts | 1112 --- src/packages/ui/src/lib/appearanceAutoSave.ts | 216 - .../ui/src/lib/appearancePersistence.ts | 77 - src/packages/ui/src/lib/chunkLoadRecovery.ts | 93 - src/packages/ui/src/lib/clipboard.ts | 39 - src/packages/ui/src/lib/codeTheme.ts | 352 - .../ui/src/lib/codemirror/flexokiTheme.ts | 550 -- .../src/lib/codemirror/languageByExtension.ts | 175 - src/packages/ui/src/lib/concurrency.ts | 27 - src/packages/ui/src/lib/configSync.ts | 62 - src/packages/ui/src/lib/configUpdate.ts | 69 - .../ui/src/lib/contextFileOpenGuard.ts | 66 - src/packages/ui/src/lib/debug.ts | 713 -- src/packages/ui/src/lib/desktop.ts | 774 -- src/packages/ui/src/lib/desktopBoot.test.ts | 372 - src/packages/ui/src/lib/desktopBoot.ts | 301 - src/packages/ui/src/lib/desktopHosts.ts | 199 - src/packages/ui/src/lib/desktopNative.ts | 162 - src/packages/ui/src/lib/desktopSsh.ts | 454 -- src/packages/ui/src/lib/device.ts | 227 - src/packages/ui/src/lib/diff/workerFactory.ts | 5 - .../ui/src/lib/directoryPersistence.ts | 28 - .../ui/src/lib/directoryShowHidden.ts | 71 - src/packages/ui/src/lib/execCommands.ts | 57 - src/packages/ui/src/lib/exportSession.ts | 199 - src/packages/ui/src/lib/fileOpenLimits.ts | 19 - src/packages/ui/src/lib/fileTypeIconIds.ts | 2088 ----- src/packages/ui/src/lib/fileTypeIcons.ts | 249 - .../ui/src/lib/filesViewShowGitignored.ts | 69 - src/packages/ui/src/lib/fontLoader.ts | 59 - src/packages/ui/src/lib/fontOptions.ts | 176 - .../ui/src/lib/git/branchNameGenerator.ts | 76 - .../src/lib/git/integrateWorktreeCommits.ts | 365 - src/packages/ui/src/lib/gitApi.ts | 758 -- src/packages/ui/src/lib/gitApiHttp.ts | 916 --- src/packages/ui/src/lib/i18n/context.tsx | 31 - src/packages/ui/src/lib/i18n/index.ts | 4 - .../ui/src/lib/i18n/messages/en.settings.ts | 1516 ---- src/packages/ui/src/lib/i18n/messages/en.ts | 2092 ------ .../ui/src/lib/i18n/messages/es.settings.ts | 1516 ---- src/packages/ui/src/lib/i18n/messages/es.ts | 2091 ------ .../ui/src/lib/i18n/messages/ko.settings.ts | 1516 ---- src/packages/ui/src/lib/i18n/messages/ko.ts | 2091 ------ .../src/lib/i18n/messages/pt-BR.settings.ts | 1516 ---- .../ui/src/lib/i18n/messages/pt-BR.ts | 2091 ------ .../ui/src/lib/i18n/messages/uk.settings.ts | 1516 ---- src/packages/ui/src/lib/i18n/messages/uk.ts | 2091 ------ .../src/lib/i18n/messages/zh-CN.settings.ts | 1516 ---- .../ui/src/lib/i18n/messages/zh-CN.ts | 2091 ------ src/packages/ui/src/lib/i18n/react-context.ts | 14 - src/packages/ui/src/lib/i18n/runtime.ts | 112 - src/packages/ui/src/lib/i18n/store.ts | 92 - src/packages/ui/src/lib/i18n/useI18n.ts | 11 - src/packages/ui/src/lib/ime.ts | 14 - src/packages/ui/src/lib/jsonTreeUtils.ts | 222 - src/packages/ui/src/lib/magicPrompts.ts | 736 -- src/packages/ui/src/lib/messageCompletion.ts | 109 - .../ui/src/lib/messageCursorPersistence.ts | 176 - src/packages/ui/src/lib/messageFreshness.ts | 90 - .../ui/src/lib/messages/agentMentions.ts | 76 - .../ui/src/lib/messages/executionMeta.ts | 16 - .../ui/src/lib/messages/inlineComments.ts | 58 - .../ui/src/lib/messages/messageText.ts | 31 - .../ui/src/lib/messages/providerAuthError.ts | 34 - .../ui/src/lib/messages/synthetic.test.ts | 123 - src/packages/ui/src/lib/messages/synthetic.ts | 64 - src/packages/ui/src/lib/modelPrefsAutoSave.ts | 76 - src/packages/ui/src/lib/openCodeStatus.ts | 363 - src/packages/ui/src/lib/openInApps.ts | 46 - src/packages/ui/src/lib/openchamberConfig.ts | 918 --- src/packages/ui/src/lib/openchamberEvents.ts | 168 - src/packages/ui/src/lib/opencode/client.ts | 1599 ---- src/packages/ui/src/lib/passkeys.ts | 200 - .../ui/src/lib/permissions/editModeColors.ts | 30 - .../lib/permissions/editPermissionDefaults.ts | 101 - src/packages/ui/src/lib/persistence.ts | 1155 --- src/packages/ui/src/lib/projectActions.ts | 199 - src/packages/ui/src/lib/projectId.ts | 18 - src/packages/ui/src/lib/projectMeta.ts | 86 - src/packages/ui/src/lib/projectResolution.ts | 69 - src/packages/ui/src/lib/pwa.ts | 41 - src/packages/ui/src/lib/quota/index.ts | 14 - .../ui/src/lib/quota/model-families.ts | 146 - .../ui/src/lib/quota/providers/base.ts | 8 - .../ui/src/lib/quota/providers/index.ts | 29 - src/packages/ui/src/lib/quota/utils.ts | 243 - src/packages/ui/src/lib/router/index.ts | 31 - src/packages/ui/src/lib/router/parseRoute.ts | 136 - .../ui/src/lib/router/serializeRoute.ts | 148 - src/packages/ui/src/lib/router/types.ts | 55 - src/packages/ui/src/lib/scheduledTasksApi.ts | 123 - src/packages/ui/src/lib/search/fuzzySearch.ts | 129 - src/packages/ui/src/lib/sessionEvents.ts | 72 - src/packages/ui/src/lib/settings/metadata.ts | 219 - .../ui/src/lib/shiki/appThemeRegistry.ts | 91 - .../lib/shiki/textMateThemeFromAppTheme.ts | 482 -- .../ui/src/lib/shiki/vscodeTextMateTheme.ts | 14 - src/packages/ui/src/lib/shortcuts.ts | 606 -- .../ui/src/lib/terminal/SerializeAddon.ts | 497 -- src/packages/ui/src/lib/terminalApi.ts | 1053 --- src/packages/ui/src/lib/terminalTheme.ts | 143 - src/packages/ui/src/lib/theme/cssGenerator.ts | 759 -- .../ui/src/lib/theme/syntaxThemeGenerator.ts | 208 - .../ui/src/lib/theme/themes/amoled-dark.json | 427 -- .../ui/src/lib/theme/themes/amoled-light.json | 427 -- .../ui/src/lib/theme/themes/aura-dark.json | 178 - .../ui/src/lib/theme/themes/aura-light.json | 178 - .../ui/src/lib/theme/themes/ayu-dark.json | 178 - .../ui/src/lib/theme/themes/ayu-light.json | 178 - .../src/lib/theme/themes/carbonfox-dark.json | 178 - .../src/lib/theme/themes/carbonfox-light.json | 178 - .../src/lib/theme/themes/catppuccin-dark.json | 178 - .../lib/theme/themes/catppuccin-light.json | 178 - .../ui/src/lib/theme/themes/cursor-dark.json | 427 -- .../ui/src/lib/theme/themes/cursor-light.json | 427 -- .../ui/src/lib/theme/themes/dracula-dark.json | 178 - .../src/lib/theme/themes/dracula-light.json | 178 - .../themes/fields-of-the-shire-dark.json | 181 - .../themes/fields-of-the-shire-light.json | 181 - .../ui/src/lib/theme/themes/flexoki-dark.json | 180 - .../src/lib/theme/themes/flexoki-light.json | 180 - .../ui/src/lib/theme/themes/github-dark.json | 427 -- .../ui/src/lib/theme/themes/github-light.json | 427 -- .../ui/src/lib/theme/themes/gruvbox-dark.json | 178 - .../src/lib/theme/themes/gruvbox-light.json | 178 - src/packages/ui/src/lib/theme/themes/index.ts | 47 - .../src/lib/theme/themes/kanagawa-dark.json | 180 - .../src/lib/theme/themes/kanagawa-light.json | 180 - .../lib/theme/themes/lucent-orng-dark.json | 427 -- .../lib/theme/themes/lucent-orng-light.json | 427 -- .../ui/src/lib/theme/themes/mono-dark.json | 180 - .../ui/src/lib/theme/themes/mono-light.json | 180 - .../src/lib/theme/themes/mono-plus-dark.json | 158 - .../src/lib/theme/themes/mono-plus-light.json | 158 - .../ui/src/lib/theme/themes/monokai-dark.json | 178 - .../src/lib/theme/themes/monokai-light.json | 178 - .../src/lib/theme/themes/nightowl-dark.json | 178 - .../src/lib/theme/themes/nightowl-light.json | 178 - .../ui/src/lib/theme/themes/nord-dark.json | 178 - .../ui/src/lib/theme/themes/nord-light.json | 178 - .../ui/src/lib/theme/themes/oc-2-dark.json | 427 -- .../ui/src/lib/theme/themes/oc-2-light.json | 427 -- .../src/lib/theme/themes/onedarkpro-dark.json | 178 - .../lib/theme/themes/onedarkpro-light.json | 178 - .../ui/src/lib/theme/themes/orng-dark.json | 427 -- .../ui/src/lib/theme/themes/orng-light.json | 427 -- .../ui/src/lib/theme/themes/prColors.ts | 39 - .../ui/src/lib/theme/themes/presets.ts | 118 - .../src/lib/theme/themes/rosepine-dark.json | 427 -- .../src/lib/theme/themes/rosepine-light.json | 427 -- .../lib/theme/themes/shadesofpurple-dark.json | 427 -- .../theme/themes/shadesofpurple-light.json | 427 -- .../src/lib/theme/themes/solarized-dark.json | 178 - .../src/lib/theme/themes/solarized-light.json | 178 - .../src/lib/theme/themes/tokyonight-dark.json | 178 - .../lib/theme/themes/tokyonight-light.json | 178 - .../ui/src/lib/theme/themes/vercel-dark.json | 427 -- .../ui/src/lib/theme/themes/vercel-light.json | 427 -- .../ui/src/lib/theme/themes/vesper-dark.json | 178 - .../ui/src/lib/theme/themes/vesper-light.json | 178 - .../lib/theme/themes/vitesse-dark-dark.json | 158 - .../lib/theme/themes/vitesse-light-light.json | 158 - .../ui/src/lib/theme/themes/zenburn-dark.json | 427 -- .../src/lib/theme/themes/zenburn-light.json | 427 -- .../ui/src/lib/theme/vscode/adapter.ts | 548 -- src/packages/ui/src/lib/toolHelpers.ts | 749 -- src/packages/ui/src/lib/toolStatus.ts | 83 - src/packages/ui/src/lib/typography.ts | 357 - src/packages/ui/src/lib/typographyWatcher.ts | 37 - src/packages/ui/src/lib/url.ts | 86 - src/packages/ui/src/lib/userSendAnimation.ts | 34 - src/packages/ui/src/lib/utils.ts | 151 - .../ui/src/lib/voice/audioStreamService.ts | 346 - .../ui/src/lib/voice/browserVoiceService.ts | 654 -- .../ui/src/lib/voice/contextFormatters.ts | 131 - src/packages/ui/src/lib/voice/index.ts | 36 - .../ui/src/lib/voice/realtimeClientTools.ts | 107 - src/packages/ui/src/lib/voice/summarize.ts | 149 - src/packages/ui/src/lib/voice/voiceConfig.ts | 35 - src/packages/ui/src/lib/voice/voiceHooks.ts | 133 - src/packages/ui/src/lib/voice/voiceSession.ts | 46 - .../ui/src/lib/worktreeSessionCreator.ts | 565 -- .../ui/src/lib/worktrees/branchSearch.ts | 67 - .../src/lib/worktrees/pendingDraftWorktree.ts | 51 - .../ui/src/lib/worktrees/worktreeBootstrap.ts | 119 - .../ui/src/lib/worktrees/worktreeCreate.ts | 120 - .../ui/src/lib/worktrees/worktreeManager.ts | 394 - .../ui/src/lib/worktrees/worktreeStatus.ts | 97 - src/packages/ui/src/main.tsx | 68 - src/packages/ui/src/stores/DOCUMENTATION.md | 235 - src/packages/ui/src/stores/contextStore.ts | 511 -- src/packages/ui/src/stores/fileStore.ts | 271 - src/packages/ui/src/stores/globalSessions.ts | 119 - .../ui/src/stores/messageQueueStore.ts | 152 - src/packages/ui/src/stores/permissionStore.ts | 291 - .../ui/src/stores/types/sessionTypes.ts | 329 - .../ui/src/stores/useAgentGroupsStore.ts | 356 - src/packages/ui/src/stores/useAgentsStore.ts | 715 -- .../ui/src/stores/useCommandsStore.ts | 553 -- src/packages/ui/src/stores/useConfigStore.ts | 2122 ------ .../ui/src/stores/useDesktopSshStore.ts | 191 - .../ui/src/stores/useDirectoryStore.ts | 440 -- .../ui/src/stores/useFeatureFlagsStore.ts | 11 - .../ui/src/stores/useFileSearchStore.ts | 151 - .../ui/src/stores/useFilesViewTabsStore.ts | 419 -- .../ui/src/stores/useGitHubAuthStore.ts | 71 - .../ui/src/stores/useGitHubPrStatusStore.ts | 727 -- .../ui/src/stores/useGitIdentitiesStore.ts | 285 - src/packages/ui/src/stores/useGitStore.ts | 909 --- .../ui/src/stores/useGlobalSessionsStore.ts | 349 - .../src/stores/useInlineCommentDraftStore.ts | 228 - .../ui/src/stores/useMagicPromptsStore.ts | 20 - .../ui/src/stores/useMcpConfigStore.ts | 426 -- src/packages/ui/src/stores/useMcpStore.ts | 240 - .../ui/src/stores/useMultiRunStore.ts | 279 - .../ui/src/stores/useOpenInAppsStore.ts | 281 - .../ui/src/stores/useProjectsStore.ts | 726 -- src/packages/ui/src/stores/useQuotaStore.ts | 298 - .../ui/src/stores/useSessionDisplayStore.ts | 21 - .../ui/src/stores/useSessionFoldersStore.ts | 554 -- .../src/stores/useSessionMultiSelectStore.ts | 157 - .../ui/src/stores/useSkillsCatalogStore.ts | 444 -- src/packages/ui/src/stores/useSkillsStore.ts | 577 -- .../ui/src/stores/useTerminalStore.ts | 590 -- .../ui/src/stores/useTodosPersistStore.ts | 64 - src/packages/ui/src/stores/useUIStore.ts | 2017 ----- src/packages/ui/src/stores/useUpdateStore.ts | 297 - .../ui/src/stores/utils/contextUtils.ts | 22 - .../ui/src/stores/utils/messageProjectors.ts | 46 - .../ui/src/stores/utils/messageUtils.ts | 286 - .../stores/utils/permissionAutoAccept.test.ts | 98 - .../src/stores/utils/permissionAutoAccept.ts | 44 - .../ui/src/stores/utils/permissionUtils.ts | 94 - .../ui/src/stores/utils/safeStorage.ts | 224 - .../ui/src/stores/utils/streamDebug.ts | 255 - .../ui/src/stores/utils/streamingUtils.ts | 55 - .../ui/src/stores/utils/tokenUtils.ts | 51 - src/packages/ui/src/styles/design-system.css | 420 -- src/packages/ui/src/styles/fireworks.css | 76 - src/packages/ui/src/styles/fonts.ts | 9 - src/packages/ui/src/styles/mobile.css | 454 -- src/packages/ui/src/styles/typography.css | 148 - src/packages/ui/src/sync/DOCUMENTATION.md | 230 - .../sync/__tests__/event-pipeline.bench.js | 347 - .../src/sync/__tests__/event-pipeline.test.js | 1040 --- .../src/sync/__tests__/event-reducer.test.js | 200 - .../src/sync/__tests__/live-aggregate.test.js | 99 - src/packages/ui/src/sync/binary.ts | 46 - src/packages/ui/src/sync/bootstrap.ts | 280 - src/packages/ui/src/sync/child-store.ts | 226 - src/packages/ui/src/sync/content-cache.ts | 93 - src/packages/ui/src/sync/debug.ts | 83 - src/packages/ui/src/sync/event-pipeline.ts | 634 -- src/packages/ui/src/sync/event-reducer.ts | 454 -- src/packages/ui/src/sync/eviction.ts | 28 - src/packages/ui/src/sync/global-sync-store.ts | 27 - src/packages/ui/src/sync/index.ts | 158 - src/packages/ui/src/sync/input-store.ts | 79 - src/packages/ui/src/sync/live-aggregate.ts | 212 - .../ui/src/sync/notification-store.ts | 170 - src/packages/ui/src/sync/optimistic.ts | 127 - src/packages/ui/src/sync/persist-cache.ts | 116 - .../ui/src/sync/reconnect-recovery.test.ts | 69 - .../ui/src/sync/reconnect-recovery.ts | 62 - src/packages/ui/src/sync/retry.ts | 55 - src/packages/ui/src/sync/sanitize.ts | 86 - src/packages/ui/src/sync/selection-store.ts | 99 - .../ui/src/sync/session-actions.test.ts | 241 - src/packages/ui/src/sync/session-actions.ts | 726 -- src/packages/ui/src/sync/session-cache.ts | 61 - .../ui/src/sync/session-prefetch-cache.ts | 113 - .../ui/src/sync/session-ui-store.test.js | 191 - src/packages/ui/src/sync/session-ui-store.ts | 1190 --- .../sync/session-worktree-contract.test.js | 660 -- .../ui/src/sync/session-worktree-contract.ts | 237 - .../src/sync/session-worktree-store.test.js | 71 - .../ui/src/sync/session-worktree-store.ts | 34 - src/packages/ui/src/sync/streaming.ts | 131 - src/packages/ui/src/sync/submit.ts | 143 - src/packages/ui/src/sync/sync-context.tsx | 2054 ----- src/packages/ui/src/sync/sync-refs.ts | 104 - src/packages/ui/src/sync/types.ts | 150 - src/packages/ui/src/sync/use-sync.ts | 413 - src/packages/ui/src/sync/viewport-store.ts | 49 - src/packages/ui/src/sync/voice-store.ts | 23 - src/packages/ui/src/types/bun-test.d.ts | 29 - .../ui/src/types/codemirror-lang-elixir.d.ts | 5 - src/packages/ui/src/types/desktop.d.ts | 13 - src/packages/ui/src/types/ghostty-web.d.ts | 11 - src/packages/ui/src/types/index.ts | 73 - src/packages/ui/src/types/multirun.ts | 48 - src/packages/ui/src/types/permission.ts | 28 - src/packages/ui/src/types/question.ts | 45 - src/packages/ui/src/types/quota.ts | 45 - ...act-syntax-highlighter-create-element.d.ts | 14 - src/packages/ui/src/types/theme.ts | 291 - src/packages/ui/src/types/tool.ts | 53 - src/packages/ui/src/types/vscode.d.ts | 11 - src/packages/ui/src/types/worktree.ts | 52 - src/packages/ui/src/vite-env.d.ts | 16 - src/packages/ui/tsconfig.json | 23 - src/packages/vscode/.vscodeignore | 11 - src/packages/vscode/CHANGELOG.md | 575 -- src/packages/vscode/LICENSE | 21 - src/packages/vscode/README.md | 89 - src/packages/vscode/assets/app-icon.png | Bin 27470 -> 0 bytes src/packages/vscode/assets/icon-titlebar.svg | 42 - src/packages/vscode/assets/icon.svg | 15 - src/packages/vscode/extension.jpg | Bin 435055 -> 0 bytes src/packages/vscode/package.json | 253 - .../vscode/src/AgentManagerPanelProvider.ts | 240 - src/packages/vscode/src/ChatViewProvider.ts | 412 - src/packages/vscode/src/DOCUMENTATION.md | 61 - .../vscode/src/SessionEditorPanelProvider.ts | 279 - .../vscode/src/bridge-config-runtime.ts | 631 -- .../vscode/src/bridge-fs-helpers-runtime.ts | 563 -- src/packages/vscode/src/bridge-fs-runtime.ts | 498 -- .../vscode/src/bridge-git-process-runtime.ts | 105 - src/packages/vscode/src/bridge-git-runtime.ts | 438 -- .../vscode/src/bridge-git-special-runtime.ts | 455 -- .../src/bridge-localfs-proxy-runtime.ts | 117 - .../vscode/src/bridge-proxy-runtime.ts | 180 - .../vscode/src/bridge-settings-runtime.ts | 387 - .../vscode/src/bridge-system-runtime.ts | 558 -- src/packages/vscode/src/bridge.ts | 166 - src/packages/vscode/src/extension.ts | 646 -- src/packages/vscode/src/git.d.ts | 349 - src/packages/vscode/src/gitService.ts | 3062 -------- src/packages/vscode/src/githubAuth.ts | 271 - src/packages/vscode/src/githubIssues.ts | 237 - src/packages/vscode/src/githubPr.ts | 486 -- src/packages/vscode/src/githubPulls.ts | 607 -- src/packages/vscode/src/opencode-ready.ts | 59 - src/packages/vscode/src/opencode.ts | 1000 --- src/packages/vscode/src/opencodeAuth.ts | 72 - src/packages/vscode/src/opencodeConfig.ts | 1806 ----- src/packages/vscode/src/pathUtils.ts | 9 - src/packages/vscode/src/quotaProviders.ts | 1778 ----- .../vscode/src/sessionActivityWatcher.ts | 228 - src/packages/vscode/src/shikiThemes.ts | 232 - src/packages/vscode/src/skillsCatalog.ts | 950 --- src/packages/vscode/src/sseProxy.ts | 214 - src/packages/vscode/src/theme.ts | 15 - src/packages/vscode/src/webviewDevServer.ts | 36 - src/packages/vscode/src/webviewHtml.ts | 299 - src/packages/vscode/tsconfig.json | 18 - src/packages/vscode/tsconfig.webview.json | 24 - src/packages/vscode/vite.config.ts | 65 - src/packages/vscode/webview/api/bridge.ts | 188 - src/packages/vscode/webview/api/editor.ts | 18 - src/packages/vscode/webview/api/files.ts | 146 - src/packages/vscode/webview/api/git.ts | 411 - src/packages/vscode/webview/api/github.ts | 61 - src/packages/vscode/webview/api/index.ts | 33 - .../vscode/webview/api/notifications.ts | 23 - .../vscode/webview/api/permissions.ts | 16 - src/packages/vscode/webview/api/settings.ts | 70 - src/packages/vscode/webview/api/streamPerf.ts | 88 - src/packages/vscode/webview/api/tools.ts | 22 - src/packages/vscode/webview/api/vscode.ts | 17 - src/packages/vscode/webview/index.html | 12 - src/packages/vscode/webview/main.tsx | 1233 --- src/packages/vscode/webview/tsconfig.json | 12 - src/packages/web/.gitignore | 2 - src/packages/web/README.md | 193 - src/packages/web/bin/cli-entry.js | 55 - src/packages/web/bin/cli-output.js | 145 - src/packages/web/bin/cli.js | 4996 ------------ src/packages/web/bin/cli.test.js | 56 - src/packages/web/index.html | 603 -- src/packages/web/package.json | 118 - .../web/public/apple-touch-icon-120x120.png | Bin 3250 -> 0 bytes .../web/public/apple-touch-icon-152x152.png | Bin 4329 -> 0 bytes .../web/public/apple-touch-icon-167x167.png | Bin 4806 -> 0 bytes .../web/public/apple-touch-icon-180x180.png | Bin 5081 -> 0 bytes src/packages/web/public/apple-touch-icon.png | Bin 5081 -> 0 bytes src/packages/web/public/apple-touch-icon.svg | 16 - src/packages/web/public/favicon-16.png | Bin 437 -> 0 bytes src/packages/web/public/favicon-32.png | Bin 919 -> 0 bytes src/packages/web/public/favicon.png | Bin 2050 -> 0 bytes src/packages/web/public/favicon.svg | 26 - src/packages/web/public/logo-dark-192x192.png | Bin 3863 -> 0 bytes src/packages/web/public/logo-dark-512x512.svg | 16 - .../web/public/logo-light-192x192.png | Bin 3827 -> 0 bytes .../web/public/logo-light-512x512.svg | 16 - src/packages/web/public/pwa-192.png | Bin 4440 -> 0 bytes src/packages/web/public/pwa-512.png | Bin 15773 -> 0 bytes src/packages/web/public/pwa-maskable-192.png | Bin 4037 -> 0 bytes src/packages/web/public/pwa-maskable-512.png | Bin 14526 -> 0 bytes src/packages/web/public/site.webmanifest | 21 - .../web/server/TERMINAL_WS_PROTOCOL.md | 48 - src/packages/web/server/index.d.ts | 39 - src/packages/web/server/index.js | 1242 --- .../web/server/lib/cloudflare-tunnel.js | 650 -- .../server/lib/event-stream/DOCUMENTATION.md | 61 - .../lib/event-stream/directory-ws-bridge.js | 185 - .../web/server/lib/event-stream/global-hub.js | 143 - .../lib/event-stream/global-ws-bridge.js | 206 - .../web/server/lib/event-stream/index.js | 24 - .../web/server/lib/event-stream/protocol.js | 100 - .../server/lib/event-stream/protocol.test.js | 114 - .../web/server/lib/event-stream/runtime.js | 180 - .../server/lib/event-stream/runtime.test.js | 512 -- .../lib/event-stream/upstream-reader.js | 204 - .../lib/event-stream/upstream-reader.test.js | 159 - .../web/server/lib/fs/DOCUMENTATION.md | 36 - src/packages/web/server/lib/fs/routes.js | 831 -- src/packages/web/server/lib/fs/search.js | 238 - .../web/server/lib/git/DOCUMENTATION.md | 147 - .../web/server/lib/git/credentials.js | 74 - .../web/server/lib/git/identity-storage.js | 110 - src/packages/web/server/lib/git/index.js | 6 - src/packages/web/server/lib/git/routes.js | 906 --- src/packages/web/server/lib/git/service.js | 3286 -------- .../web/server/lib/github/DOCUMENTATION.md | 171 - src/packages/web/server/lib/github/auth.js | 307 - .../web/server/lib/github/device-flow.js | 50 - src/packages/web/server/lib/github/index.js | 24 - src/packages/web/server/lib/github/octokit.js | 10 - .../web/server/lib/github/pr-status.js | 497 -- .../web/server/lib/github/repo/index.js | 55 - src/packages/web/server/lib/github/routes.js | 1349 ---- .../web/server/lib/magic-prompts/routes.js | 63 - .../web/server/lib/magic-prompts/runtime.js | 119 - .../server/lib/notifications/DOCUMENTATION.md | 129 - .../lib/notifications/emitter-runtime.js | 102 - .../web/server/lib/notifications/index.js | 4 - .../web/server/lib/notifications/message.js | 70 - .../server/lib/notifications/message.test.js | 74 - .../server/lib/notifications/push-runtime.js | 304 - .../web/server/lib/notifications/routes.js | 315 - .../web/server/lib/notifications/runtime.js | 517 -- .../lib/notifications/template-runtime.js | 415 - .../web/server/lib/opencode/DOCUMENTATION.md | 362 - .../web/server/lib/opencode/agents.js | 634 -- .../server/lib/opencode/auth-state-runtime.js | 88 - src/packages/web/server/lib/opencode/auth.js | 81 - .../server/lib/opencode/bootstrap-runtime.js | 130 - .../server/lib/opencode/cli-entry-runtime.js | 43 - .../web/server/lib/opencode/cli-options.js | 128 - .../web/server/lib/opencode/commands.js | 339 - .../lib/opencode/config-entity-routes.js | 370 - .../web/server/lib/opencode/core-routes.js | 284 - .../server/lib/opencode/core-routes.test.js | 26 - .../web/server/lib/opencode/env-config.js | 72 - .../web/server/lib/opencode/env-runtime.js | 1082 --- .../lib/opencode/feature-routes-runtime.js | 242 - .../server/lib/opencode/hmr-state-runtime.js | 85 - src/packages/web/server/lib/opencode/index.js | 66 - .../web/server/lib/opencode/lifecycle.js | 781 -- .../web/server/lib/opencode/lifecycle.test.js | 166 - src/packages/web/server/lib/opencode/mcp.js | 278 - .../server/lib/opencode/network-runtime.js | 98 - .../server/lib/opencode/openchamber-routes.js | 313 - .../opencode/opencode-resolution-runtime.js | 71 - .../web/server/lib/opencode/path-utils.js | 100 - .../server/lib/opencode/path-utils.test.js | 71 - .../lib/opencode/project-directory-runtime.js | 124 - .../lib/opencode/project-icon-routes.js | 397 - .../web/server/lib/opencode/providers.js | 96 - src/packages/web/server/lib/opencode/proxy.js | 420 -- .../lib/opencode/pwa-manifest-routes.js | 257 - .../web/server/lib/opencode/routes.js | 298 - .../lib/opencode/server-startup-runtime.js | 138 - .../lib/opencode/server-utils-runtime.js | 173 - .../lib/opencode/server-utils-runtime.test.js | 123 - .../server/lib/opencode/session-runtime.js | 343 - .../lib/opencode/session-runtime.test.js | 68 - .../server/lib/opencode/settings-helpers.js | 653 -- .../lib/opencode/settings-helpers.test.js | 54 - .../settings-normalization-runtime.js | 428 -- .../server/lib/opencode/settings-runtime.js | 825 -- .../web/server/lib/opencode/shared.js | 542 -- .../server/lib/opencode/shutdown-runtime.js | 132 - .../web/server/lib/opencode/skill-routes.js | 707 -- .../web/server/lib/opencode/skills.js | 480 -- .../lib/opencode/startup-pipeline-runtime.js | 128 - .../lib/opencode/static-routes-runtime.js | 65 - .../web/server/lib/opencode/theme-runtime.js | 167 - .../web/server/lib/opencode/tunnel-auth.js | 591 -- .../lib/opencode/tunnel-wiring-runtime.js | 94 - .../web/server/lib/opencode/watcher.js | 115 - .../web/server/lib/opencode/watcher.test.js | 239 - .../web/server/lib/package-manager.js | 763 -- .../web/server/lib/projects/project-config.js | 565 -- .../lib/projects/project-config.test.js | 144 - .../web/server/lib/projects/project-id.js | 13 - .../web/server/lib/quota/DOCUMENTATION.md | 58 - src/packages/web/server/lib/quota/index.js | 25 - .../web/server/lib/quota/providers/claude.js | 107 - .../web/server/lib/quota/providers/codex.js | 113 - .../web/server/lib/quota/providers/copilot.js | 165 - .../server/lib/quota/providers/google/api.js | 92 - .../server/lib/quota/providers/google/auth.js | 108 - .../lib/quota/providers/google/index.js | 124 - .../lib/quota/providers/google/transforms.js | 109 - .../web/server/lib/quota/providers/index.js | 168 - .../server/lib/quota/providers/interface.js | 55 - .../web/server/lib/quota/providers/kimi.js | 108 - .../quota/providers/minimax-cn-coding-plan.js | 140 - .../quota/providers/minimax-coding-plan.js | 139 - .../web/server/lib/quota/providers/nanogpt.js | 124 - .../lib/quota/providers/ollama-cloud.js | 112 - .../web/server/lib/quota/providers/openai.js | 91 - .../server/lib/quota/providers/openrouter.js | 92 - .../web/server/lib/quota/providers/zai.js | 91 - .../quota/providers/zhipuai-coding-plan.js | 133 - .../web/server/lib/quota/providers/zhipuai.js | 114 - src/packages/web/server/lib/quota/routes.js | 27 - .../web/server/lib/quota/utils/auth.js | 46 - .../web/server/lib/quota/utils/formatters.js | 76 - .../web/server/lib/quota/utils/index.js | 10 - .../server/lib/quota/utils/transformers.js | 55 - .../lib/scheduled-tasks/DOCUMENTATION.md | 44 - .../web/server/lib/scheduled-tasks/routes.js | 231 - .../web/server/lib/scheduled-tasks/runtime.js | 749 -- .../lib/scheduled-tasks/runtime.test.js | 100 - .../server/lib/security/request-security.js | 115 - .../web/server/lib/session-folders/routes.js | 57 - .../lib/skills-catalog/DOCUMENTATION.md | 178 - .../web/server/lib/skills-catalog/cache.js | 29 - .../server/lib/skills-catalog/clawdhub/api.js | 158 - .../lib/skills-catalog/clawdhub/index.js | 30 - .../lib/skills-catalog/clawdhub/install.js | 238 - .../lib/skills-catalog/clawdhub/scan.js | 113 - .../lib/skills-catalog/curated-sources.js | 21 - .../web/server/lib/skills-catalog/git.js | 77 - .../web/server/lib/skills-catalog/index.js | 42 - .../web/server/lib/skills-catalog/install.js | 294 - .../web/server/lib/skills-catalog/scan.js | 221 - .../web/server/lib/skills-catalog/source.js | 85 - .../web/server/lib/terminal/DOCUMENTATION.md | 76 - src/packages/web/server/lib/terminal/index.js | 31 - .../lib/terminal/output-replay-buffer.js | 66 - .../lib/terminal/output-replay-buffer.test.js | 66 - .../web/server/lib/terminal/runtime.js | 801 -- .../lib/terminal/terminal-ws-protocol.js | 68 - .../lib/terminal/terminal-ws-protocol.test.js | 145 - .../web/server/lib/text/DOCUMENTATION.md | 35 - .../web/server/lib/text/summarization.js | 240 - .../web/server/lib/tts/DOCUMENTATION.md | 146 - src/packages/web/server/lib/tts/base-url.js | 62 - .../web/server/lib/tts/capability-runtime.js | 31 - src/packages/web/server/lib/tts/index.js | 19 - src/packages/web/server/lib/tts/routes.js | 275 - src/packages/web/server/lib/tts/service.js | 178 - src/packages/web/server/lib/tts/stt.js | 75 - .../web/server/lib/tunnels/DOCUMENTATION.md | 18 - src/packages/web/server/lib/tunnels/index.js | 166 - .../web/server/lib/tunnels/managed-config.js | 201 - .../lib/tunnels/providers/cloudflare.js | 260 - .../web/server/lib/tunnels/registry.js | 51 - src/packages/web/server/lib/tunnels/routes.js | 605 -- src/packages/web/server/lib/tunnels/types.js | 219 - .../web/server/lib/ui-auth/DOCUMENTATION.md | 38 - .../web/server/lib/ui-auth/ui-auth.js | 673 -- .../web/server/lib/ui-auth/ui-passkeys.js | 545 -- .../web/server/opencode-proxy.test.js | 151 - src/packages/web/server/proxy-headers.js | 61 - src/packages/web/server/proxy-headers.test.js | 58 - src/packages/web/server/sse-routes.test.js | 152 - src/packages/web/src/api/files.ts | 226 - src/packages/web/src/api/git.ts | 63 - src/packages/web/src/api/github.ts | 233 - src/packages/web/src/api/index.ts | 23 - src/packages/web/src/api/notifications.ts | 137 - src/packages/web/src/api/permissions.ts | 15 - src/packages/web/src/api/push.ts | 59 - src/packages/web/src/api/settings.ts | 58 - src/packages/web/src/api/terminal.ts | 74 - src/packages/web/src/api/tools.ts | 22 - src/packages/web/src/main.tsx | 87 - src/packages/web/src/pwa.d.ts | 13 - src/packages/web/src/sw.ts | 71 - src/packages/web/tsconfig.json | 25 - src/packages/web/vite.config.ts | 129 - src/patches/ghostty-web+0.3.0.patch | 33 - src/postcss.config.js | 5 - src/scripts/bump-version.mjs | 98 - src/scripts/convert-vscode-theme.cjs | 497 -- src/scripts/dev-vscode.mjs | 213 - src/scripts/dev-web-full.mjs | 214 - src/scripts/dev-web-hmr.mjs | 152 - src/scripts/docker-entrypoint.sh | 77 - src/scripts/docs/validate-docs.mjs | 88 - src/scripts/generate-file-type-sprite.mjs | 129 - src/scripts/install.sh | 218 - src/scripts/port-opencode-theme.ts | 1360 ---- src/scripts/test-release-build.sh | 328 - src/tsconfig.json | 21 - src/vite-theme-plugin.ts | 8 - src/vite.config.ts | 57 - 2183 files changed, 25 insertions(+), 339607 deletions(-) create mode 100644 Dockerfile delete mode 100644 src/.dockerignore delete mode 100644 src/.github/CODEOWNERS delete mode 100644 src/.github/ISSUE_TEMPLATE/bug_report.yml delete mode 100644 src/.github/ISSUE_TEMPLATE/config.yml delete mode 100644 src/.github/ISSUE_TEMPLATE/feature_request.yml delete mode 100644 src/.github/workflows/build-macos-arm64-dmg.yml delete mode 100644 src/.github/workflows/docs-source.yml delete mode 100644 src/.github/workflows/oc-integration.yml delete mode 100644 src/.github/workflows/oc-review.yml delete mode 100644 src/.github/workflows/release.yml delete mode 100644 src/.github/workflows/vscode-extension.yml delete mode 100644 src/.gitignore delete mode 100644 src/.nvmrc delete mode 100644 src/.opencode/commands/changelog.md delete mode 100644 src/.opencode/package-lock.json delete mode 100644 src/.opencode/skills/clack-cli-patterns/SKILL.md delete mode 100644 src/.opencode/skills/locale-ui-patterns/SKILL.md delete mode 100644 src/.opencode/skills/settings-ui-patterns/SKILL.md delete mode 100644 src/.opencode/skills/theme-system/SKILL.md delete mode 100644 src/.opencode/skills/theme-system/references/adding-themes.md delete mode 100644 src/AGENTS.md delete mode 100644 src/CHANGELOG.md delete mode 100644 src/CONTRIBUTING.md delete mode 100644 src/Caddyfile delete mode 100644 src/Dockerfile delete mode 100644 src/LICENSE delete mode 100644 src/README.md delete mode 100644 src/SECURITY.md delete mode 100644 src/bun.lock delete mode 100644 src/components.json delete mode 100644 src/docker-compose.yml delete mode 100644 src/docs/.gitkeep delete mode 100644 src/docs/CUSTOM_THEMES.md delete mode 100644 src/docs/REVERSE_PROXY.md delete mode 100644 src/docs/TAURI_TO_ELECTRON_CUTOVER.md delete mode 100644 src/docs/references/badges/created-with-opencode.svg delete mode 100644 src/docs/references/badges/openchamber-logo-dark.png delete mode 100644 src/docs/references/badges/openchamber-logo-dark.svg delete mode 100644 src/docs/references/badges/openchamber-logo-light.svg delete mode 100644 src/docs/references/chat_example.png delete mode 100644 src/docs/references/diff_example.png delete mode 100644 src/docs/references/pwa_chat_example.png delete mode 100644 src/docs/references/pwa_diff_example.png delete mode 100644 src/docs/references/settings_example.png delete mode 100644 src/docs/references/tool_output_example.png delete mode 100644 src/docs/references/web_version_example.png delete mode 100644 src/eslint.config.js delete mode 100644 src/fix-deprecation.js delete mode 100644 src/package.json delete mode 100644 src/packages/desktop/.gitignore delete mode 100644 src/packages/desktop/README.md delete mode 100644 src/packages/desktop/noop-dist/index.html delete mode 100644 src/packages/desktop/package.json delete mode 100644 src/packages/desktop/public/ibm-plex-mono-latin-600-normal.woff2 delete mode 100644 src/packages/desktop/public/ibm-plex-mono-latin-700-normal.woff2 delete mode 100644 src/packages/desktop/scripts/build-sidecar.mjs delete mode 100644 src/packages/desktop/scripts/desktop-dev.mjs delete mode 100644 src/packages/desktop/scripts/dev-web-server.mjs delete mode 100644 src/packages/desktop/scripts/opencode-cli.mjs delete mode 100644 src/packages/desktop/src-tauri/Cargo.lock delete mode 100644 src/packages/desktop/src-tauri/Cargo.toml delete mode 100644 src/packages/desktop/src-tauri/Info.plist delete mode 100644 src/packages/desktop/src-tauri/build.rs delete mode 100644 src/packages/desktop/src-tauri/capabilities/default.json delete mode 100644 src/packages/desktop/src-tauri/entitlements.plist delete mode 100644 src/packages/desktop/src-tauri/icons/app-icon.png delete mode 100644 src/packages/desktop/src-tauri/icons/app-icon.svg delete mode 100644 src/packages/desktop/src-tauri/icons/dev-icon.icns delete mode 100644 src/packages/desktop/src-tauri/icons/dev-icon.png delete mode 100644 src/packages/desktop/src-tauri/icons/icon.icns delete mode 100644 src/packages/desktop/src-tauri/icons/icon.png delete mode 100644 src/packages/desktop/src-tauri/resources/.gitkeep delete mode 100644 src/packages/desktop/src-tauri/sidecars/.gitkeep delete mode 100644 src/packages/desktop/src-tauri/src/main.rs delete mode 100644 src/packages/desktop/src-tauri/src/remote_ssh.rs delete mode 100644 src/packages/desktop/src-tauri/tauri.conf.json delete mode 100644 src/packages/desktop/src-tauri/tauri.dev.conf.json delete mode 100644 src/packages/docs/CONTRIBUTING.md delete mode 100644 src/packages/docs/DEPLOYMENT.md delete mode 100644 src/packages/docs/README.md delete mode 100644 src/packages/docs/content/docs/index.mdx delete mode 100644 src/packages/docs/content/docs/install.mdx delete mode 100644 src/packages/docs/content/docs/quickstart.mdx delete mode 100644 src/packages/docs/content/docs/reverse-proxy.mdx delete mode 100644 src/packages/docs/content/docs/themes.mdx delete mode 100644 src/packages/docs/content/docs/troubleshooting.mdx delete mode 100644 src/packages/docs/content/docs/tunnels.mdx delete mode 100644 src/packages/docs/sidebar.config.json delete mode 100644 src/packages/electron/.gitignore delete mode 100644 src/packages/electron/main.mjs delete mode 100644 src/packages/electron/package.json delete mode 100644 src/packages/electron/preload.mjs delete mode 100644 src/packages/electron/resources/entitlements.mac.plist delete mode 100644 src/packages/electron/resources/icons/app-icon.png delete mode 100644 src/packages/electron/resources/icons/app-icon.svg delete mode 100644 src/packages/electron/resources/icons/dev-icon.icns delete mode 100644 src/packages/electron/resources/icons/dev-icon.png delete mode 100644 src/packages/electron/resources/icons/icon.icns delete mode 100644 src/packages/electron/resources/icons/icon.png delete mode 100644 src/packages/electron/scripts/build-web-assets.mjs delete mode 100644 src/packages/electron/scripts/bundle-main.mjs delete mode 100644 src/packages/electron/scripts/electron-dev.mjs delete mode 100644 src/packages/electron/scripts/finalize-latest-yml.mjs delete mode 100644 src/packages/electron/scripts/rebuild-native.mjs delete mode 100644 src/packages/electron/ssh-manager.mjs delete mode 100644 src/packages/ui/package.json delete mode 100644 src/packages/ui/src/App.css delete mode 100644 src/packages/ui/src/App.tsx delete mode 100644 src/packages/ui/src/assets/icons/file-types/3d.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/README.md delete mode 100644 src/packages/ui/src/assets/icons/file-types/abap.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/abc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/actionscript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ada.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/adobe-illustrator.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/adobe-illustrator_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/adobe-photoshop.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/adobe-photoshop_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/adobe-swc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/adonis.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/advpl.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/amplify.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/android.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/angular.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/antlr.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/apiblueprint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/apollo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/applescript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/apps-script.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/appveyor.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/architecture.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/arduino.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/asciidoc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/assembly.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/astro-config.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/astro.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/astyle.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/audio.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/aurelia.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/authors.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/auto.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/auto_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/autohotkey.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/autoit.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/azure-pipelines.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/azure.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/babel.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ballerina.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bazel.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bbx.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/beancount.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bench-js.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bench-jsx.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bench-ts.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bibliography.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bibtex-style.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bicep.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/biome.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bitbucket.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bithound.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/blender.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/blink.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/blink_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/blitz.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bower.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/brainfuck.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/browserlist.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/browserlist_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bruno.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/buck.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bucklescript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/buildkite.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bun.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/bun_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/c.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/c3.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cabal.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/caddy.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cadence.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cairo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cake.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/capacitor.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/capnp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cbx.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cds.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/certificate.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/changelog.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/chess.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/chess_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/chrome.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/circleci.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/circleci_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/citation.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/clangd.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/claude.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cline.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/clojure.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cloudfoundry.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cmake.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/coala.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cobol.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/coconut.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/code-climate.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/code-climate_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/codecov.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/codeowners.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/coderabbit-ai.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/coffee.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/coldfusion.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/coloredpetrinets.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/command.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/commitizen.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/commitlint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/concourse.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/conduct.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/console.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/contentlayer.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/context.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/contributing.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/controller.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/copilot.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/copilot_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cpp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/craco.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/credits.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/crystal.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/crystal_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/csharp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/css-map.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/css.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cucumber.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cuda.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cursor.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cursor_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/cypress.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/d.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/dart.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/dart_generated.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/database.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/deepsource.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/denizenscript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/deno.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/deno_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/dependabot.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/dependencies-update.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/dhall.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/diff.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/dinophp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/disc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/django.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/dll.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/docker.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/doctex-installer.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/document.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/dotjs.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/drawio.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/drizzle.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/drone.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/drone_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/duc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/dune.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/edge.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/editorconfig.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ejs.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/elixir.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/elm.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/email.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ember.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/epub.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/erlang.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/esbuild.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/eslint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/excalidraw.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/exe.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/fastlane.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/favicon.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/figma.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/firebase.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/flash.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/flow.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-admin-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-admin.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-android-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-android.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-angular-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-angular.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-animation-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-animation.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ansible-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ansible.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-api-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-api.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-apollo-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-apollo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-app-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-app.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-archive-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-archive.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-astro-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-astro.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-atom-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-atom.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-attachment-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-attachment.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-audio-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-audio.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-aurelia-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-aurelia.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-aws-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-aws.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-azure-pipelines-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-azure-pipelines.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-backup-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-backup.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-base-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-base.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-batch-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-batch.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-benchmark-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-benchmark.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-bibliography-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-bibliography.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-bicep-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-bicep.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-blender-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-blender.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-bloc-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-bloc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-bower-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-bower.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-buildkite-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-buildkite.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cart-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cart.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-changesets-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-changesets.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ci-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ci.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-circleci-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-circleci.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-class-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-class.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-claude-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-claude.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-client-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-client.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cline-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cline.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cloud-functions-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cloud-functions.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cloudflare-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cloudflare.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cluster-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cluster.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cobol-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cobol.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-command-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-command.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-components-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-components.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-config-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-config.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-connection-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-connection.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-console-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-console.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-constant-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-constant.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-container-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-container.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-content-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-content.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-context-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-context.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-contract-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-contract.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-controller-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-controller.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-core-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-core.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-coverage-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-coverage.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-css-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-css.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cursor-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cursor-open_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cursor.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cursor_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-custom-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-custom.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cypress-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-cypress.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-dart-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-dart.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-database-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-database.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-debug-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-debug.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-decorators-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-decorators.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-delta-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-delta.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-desktop-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-desktop.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-directive-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-directive.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-dist-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-dist.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-docker-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-docker.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-docs-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-docs.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-download-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-download.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-drizzle-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-drizzle.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-dump-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-dump.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-element-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-element.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-enum-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-enum.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-environment-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-environment.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-error-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-error.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-event-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-event.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-examples-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-examples.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-expo-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-expo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-export-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-export.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-fastlane-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-fastlane.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-favicon-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-favicon.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-firebase-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-firebase.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-firestore-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-firestore.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-flow-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-flow.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-flutter-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-flutter.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-font-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-font.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-forgejo-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-forgejo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-functions-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-functions.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gamemaker-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gamemaker.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-generator-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-generator.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gh-workflows-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gh-workflows.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-git-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-git.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gitea-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gitea.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-github-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-github.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gitlab-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gitlab.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-global-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-global.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-godot-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-godot.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gradle-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gradle.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-graphql-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-graphql.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-guard-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-guard.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gulp-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-gulp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-helm-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-helm.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-helper-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-helper.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-home-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-home.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-hook-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-hook.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-husky-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-husky.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-i18n-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-i18n.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-images-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-images.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-import-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-import.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-include-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-include.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-intellij-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-intellij-open_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-intellij.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-intellij_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-interceptor-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-interceptor.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-interface-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-interface.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ios-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ios.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-java-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-java.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-javascript-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-javascript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-jinja-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-jinja-open_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-jinja.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-jinja_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-job-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-job.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-json-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-json.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-jupyter-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-jupyter.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-keys-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-keys.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-kubernetes-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-kubernetes.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-kusto-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-kusto.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-layout-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-layout.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-lefthook-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-lefthook.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-less-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-less.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-lib-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-lib.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-link-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-link.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-linux-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-linux.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-liquibase-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-liquibase.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-log-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-log.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-lottie-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-lottie.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-lua-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-lua.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-luau-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-luau.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-macos-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-macos.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mail-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mail.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mappings-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mappings.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-markdown-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-markdown.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mercurial-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mercurial.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-messages-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-messages.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-meta-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-meta.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-middleware-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-middleware.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mjml-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mjml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mobile-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mobile.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mock-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mock.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mojo-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-mojo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-molecule-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-molecule.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-moon-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-moon.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-netlify-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-netlify.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-next-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-next.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ngrx-store-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ngrx-store.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-node-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-node.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-nuxt-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-nuxt.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-obsidian-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-obsidian.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-organism-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-organism.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-other-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-other.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-packages-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-packages.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-pdf-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-pdf.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-pdm-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-pdm.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-php-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-php.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-phpmailer-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-phpmailer.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-pipe-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-pipe.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-plastic-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-plastic.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-plugin-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-plugin.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-policy-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-policy.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-powershell-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-powershell.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-prisma-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-prisma.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-private-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-private.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-project-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-project.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-prompts-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-prompts.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-proto-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-proto.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-public-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-public.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-python-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-python.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-pytorch-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-pytorch.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-quasar-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-quasar.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-queue-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-queue.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-react-components-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-react-components.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-redux-reducer-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-redux-reducer.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-repository-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-repository.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-resolver-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-resolver.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-resource-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-resource.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-review-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-review.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-robot-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-robot.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-routes-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-routes.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-rules-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-rules.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-rust-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-rust.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-sandbox-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-sandbox.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-sass-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-sass.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-scala-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-scala.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-scons-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-scons.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-scripts-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-scripts.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-secure-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-secure.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-seeders-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-seeders.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-server-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-server.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-serverless-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-serverless.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-shader-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-shader.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-shared-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-shared.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-snapcraft-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-snapcraft.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-snippet-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-snippet.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-src-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-src-tauri-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-src-tauri.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-src.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-stack-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-stack.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-stencil-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-stencil.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-store-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-store.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-storybook-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-storybook.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-stylus-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-stylus.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-sublime-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-sublime.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-supabase-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-supabase.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-svelte-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-svelte.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-svg-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-svg.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-syntax-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-syntax.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-target-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-target.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-taskfile-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-taskfile.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-tasks-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-tasks.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-television-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-television.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-temp-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-temp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-template-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-template.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-terraform-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-terraform.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-test-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-test.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-theme-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-theme.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-tools-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-tools.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-trash-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-trash.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-trigger-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-trigger.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-turborepo-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-turborepo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-typescript-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-typescript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ui-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-ui.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-unity-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-unity.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-update-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-update.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-upload-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-upload.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-utils-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-utils.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vercel-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vercel.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-verdaccio-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-verdaccio.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-video-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-video.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-views-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-views.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vm-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vm.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vscode-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vscode.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vue-directives-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vue-directives.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vue-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vue.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vuepress-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vuepress.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vuex-store-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-vuex-store.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-wakatime-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-wakatime.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-webpack-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-webpack.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-windows-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-windows.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-wordpress-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-wordpress.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-yarn-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-yarn.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-zeabur-open.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder-zeabur.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/folder.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/font.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/forth.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/fortran.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/foxpro.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/freemarker.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/fsharp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/fusebox.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gamemaker.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/garden.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gatsby.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gcp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gemfile.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gemini-ai.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gemini.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/git.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/github-actions-workflow.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/github-sponsors.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gitlab.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gitpod.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gleam.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gnuplot.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/go-mod.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/go.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/go_gopher.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/godot-assets.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/godot.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gradle.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/grafana-alloy.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/grain.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/graphcool.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/graphql.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gridsome.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/groovy.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/grunt.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/gulp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/h.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hack.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hadolint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/haml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/handlebars.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hardhat.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/harmonix.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/haskell.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/haxe.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hcl.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hcl_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/helm.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/heroku.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hex.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/histoire.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hjson.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/horusec.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hosts.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hosts_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hpp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/html.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/http.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/huff.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/huff_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/hurl.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/husky.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/i18n.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/idris.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ifanr-cloud.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/image.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/imba.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/installation.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ionic.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/istanbul.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/jar.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/java.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/javaclass.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/javascript-map.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/javascript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/jenkins.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/jest.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/jinja.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/jinja_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/jsconfig.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/json.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/jsr.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/jsr_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/julia.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/jupyter.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/just.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/karma.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/kcl.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/key.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/keystatic.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/kivy.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/kl.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/knip.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/kotlin.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/kubernetes.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/kusto.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/label.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/laravel.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/latexmk.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lbx.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lefthook.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lerna.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/less.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/liara.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lib.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lighthouse.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lilypond.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lintstaged.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/liquid.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lisp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/livescript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lock.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/log.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lolcode.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lottie.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lua.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/luau.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/lyric.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/makefile.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/markdoc-config.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/markdoc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/markdown.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/markdownlint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/markojs.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mathematica.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/matlab.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/maven.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mdsvex.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mdx.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mercurial.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/merlin.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mermaid.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/meson.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/minecraft-fabric.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/minecraft.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mjml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mocha.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/modernizr.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mojo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/moon.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/moonscript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/mxml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nano-staged.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nano-staged_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ndst.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nest.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/netlify.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/netlify_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/next.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/next_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nginx.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ngrx-actions.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ngrx-effects.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ngrx-entity.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ngrx-reducer.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ngrx-selectors.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ngrx-state.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nim.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nix.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nodejs.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nodejs_alt.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nodemon.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/npm.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nuget.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nunjucks.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nuxt.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/nx.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/objective-c.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/objective-cpp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ocaml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/odin.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/opa.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/opam.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/openapi.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/openapi_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/otne.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/oxlint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/packship.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/palette.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/panda.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/parcel.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pascal.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pawn.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/payload.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/payload_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pdf.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pdm.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/percy.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/perl.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/php-cs-fixer.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/php.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/php_elephant.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/php_elephant_pink.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/phpstan.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/phpunit.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pinejs.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pipeline.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pkl.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/plastic.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/playwright.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/plop.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pm2-ecosystem.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pnpm.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pnpm_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/poetry.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/postcss.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/posthtml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/powerpoint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/powershell.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pre-commit.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/prettier.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/prisma.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/processing.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/prolog.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/prompt.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/proto.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/protractor.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pug.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/puppet.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/puppeteer.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/purescript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/python-misc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/python.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/pytorch.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/qsharp.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/quarto.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/quasar.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/quokka.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/qwik.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/r.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/racket.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/raml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/razor.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rbxmk.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/react.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/react_ts.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/readme.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/reason.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/red.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/redux-action.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/redux-reducer.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/redux-selector.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/redux-store.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/regedit.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/remark.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/remix.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/remix_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/renovate.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/replit.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rescript-interface.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rescript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/restql.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/riot.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/roadmap.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/roblox.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/robot.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/robots.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rocket.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rojo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rollup.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rome.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/routing.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rspec.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rubocop.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rubocop_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ruby.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/ruff.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/rust.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/salesforce.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/san.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sas.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sass.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sbt.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/scala.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/scheme.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/scons.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/scons_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/screwdriver.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/search.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/semantic-release.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/semantic-release_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/semgrep.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sentry.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sequelize.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/serverless.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/settings.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/shader.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/silverstripe.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/simulink.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/siyuan.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sketch.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/slim.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/slint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/slug.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/smarty.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/snakemake.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/snapcraft.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/snowpack.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/snowpack_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/snyk.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/solidity.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sonarcloud.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sprite.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/spwn.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stackblitz.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stan.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/steadybit.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stencil.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stitches.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stitches_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/storybook.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stryker.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stylable.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stylelint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stylelint_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/stylus.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sublime.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/subtitles.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/supabase.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/svelte.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/svg.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/svgo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/svgr.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/swagger.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/sway.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/swc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/swift.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/syncpack.svg delete mode 100755 src/packages/ui/src/assets/icons/file-types/systemd.svg delete mode 100755 src/packages/ui/src/assets/icons/file-types/systemd_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/table.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tailwindcss.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/taskfile.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tauri.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/taze.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tcl.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/teal.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/templ.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/template.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/terraform.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/test-js.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/test-jsx.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/test-ts.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tex.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/textlint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tilt.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tldraw.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tldraw_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tobi.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tobimake.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/todo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/toml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/toml_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/travis.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tree.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/trigger.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tsconfig.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tsdoc.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tsil.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/tune.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/turborepo.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/turborepo_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/twig.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/twine.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/typescript-def.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/typescript.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/typst.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/umi.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/uml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/uml_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/unity.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/unocss.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/url.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/uv.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vagrant.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vala.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vanilla-extract.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/varnish.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vedic.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/velite.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/velocity.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vercel.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vercel_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/verdaccio.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/verified.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/verilog.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vfl.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/video.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vim.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/virtual.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/visualstudio.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vite.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vitest.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vlang.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vscode.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vue-config.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vue.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/vuex-store.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/wakatime.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/wakatime_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/wallaby.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/wally.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/watchman.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/webassembly.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/webhint.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/webpack.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/wepy.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/werf.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/windicss.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/wolframlanguage.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/word.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/wrangler.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/wxt.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/xaml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/xmake.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/xml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/yaml.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/yang.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/yarn.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/zeabur.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/zeabur_light.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/zig.svg delete mode 100644 src/packages/ui/src/assets/icons/file-types/zip.svg delete mode 100644 src/packages/ui/src/assets/provider-logos/bailian-coding-plan.svg delete mode 100644 src/packages/ui/src/assets/provider-logos/cursor.svg delete mode 100644 src/packages/ui/src/assets/provider-logos/evroc.svg delete mode 100644 src/packages/ui/src/assets/provider-logos/gocode.svg delete mode 100644 src/packages/ui/src/assets/provider-logos/lmstudio.svg delete mode 100644 src/packages/ui/src/assets/provider-logos/ollama.svg delete mode 100644 src/packages/ui/src/components/auth/SessionAuthGate.tsx delete mode 100644 src/packages/ui/src/components/chat/AgentMentionAutocomplete.tsx delete mode 100644 src/packages/ui/src/components/chat/ChangedFilesList.tsx delete mode 100644 src/packages/ui/src/components/chat/ChatContainer.tsx delete mode 100644 src/packages/ui/src/components/chat/ChatEmptyState.tsx delete mode 100644 src/packages/ui/src/components/chat/ChatErrorBoundary.tsx delete mode 100644 src/packages/ui/src/components/chat/ChatInput.tsx delete mode 100644 src/packages/ui/src/components/chat/ChatMessage.tsx delete mode 100644 src/packages/ui/src/components/chat/CommandAutocomplete.tsx delete mode 100644 src/packages/ui/src/components/chat/DiffPreview.tsx delete mode 100644 src/packages/ui/src/components/chat/FileAttachment.tsx delete mode 100644 src/packages/ui/src/components/chat/FileMentionAutocomplete.tsx delete mode 100644 src/packages/ui/src/components/chat/MarkdownRenderer.tsx delete mode 100644 src/packages/ui/src/components/chat/MarkdownRendererImpl.tsx delete mode 100644 src/packages/ui/src/components/chat/MessageList.tsx delete mode 100644 src/packages/ui/src/components/chat/MobileAgentButton.tsx delete mode 100644 src/packages/ui/src/components/chat/MobileModelButton.tsx delete mode 100644 src/packages/ui/src/components/chat/MobileSessionStatusBar.tsx delete mode 100644 src/packages/ui/src/components/chat/ModelControls.tsx delete mode 100644 src/packages/ui/src/components/chat/PendingChangesBar.tsx delete mode 100644 src/packages/ui/src/components/chat/PermissionCard.tsx delete mode 100644 src/packages/ui/src/components/chat/PermissionRequest.tsx delete mode 100644 src/packages/ui/src/components/chat/PermissionToastActions.tsx delete mode 100644 src/packages/ui/src/components/chat/QuestionCard.tsx delete mode 100644 src/packages/ui/src/components/chat/QueuedMessageChips.tsx delete mode 100644 src/packages/ui/src/components/chat/SkillAutocomplete.tsx delete mode 100644 src/packages/ui/src/components/chat/StatusChip.tsx delete mode 100644 src/packages/ui/src/components/chat/StatusRow.tsx delete mode 100644 src/packages/ui/src/components/chat/StatusRowContainer.tsx delete mode 100644 src/packages/ui/src/components/chat/StreamingTextDiff.tsx delete mode 100644 src/packages/ui/src/components/chat/TimelineDialog.tsx delete mode 100644 src/packages/ui/src/components/chat/TurnChangedFilesDropdown.tsx delete mode 100644 src/packages/ui/src/components/chat/changedFiles.ts delete mode 100644 src/packages/ui/src/components/chat/changedFilesPopover.ts delete mode 100644 src/packages/ui/src/components/chat/components/ScrollToBottomButton.tsx delete mode 100644 src/packages/ui/src/components/chat/components/TurnActivity.tsx delete mode 100644 src/packages/ui/src/components/chat/components/TurnAssistantBlock.tsx delete mode 100644 src/packages/ui/src/components/chat/components/TurnItem.tsx delete mode 100644 src/packages/ui/src/components/chat/components/TurnList.tsx delete mode 100644 src/packages/ui/src/components/chat/hooks/useChatTimelineController.ts delete mode 100644 src/packages/ui/src/components/chat/hooks/useChatTurnNavigation.ts delete mode 100644 src/packages/ui/src/components/chat/hooks/useStreamingTextThrottle.ts delete mode 100644 src/packages/ui/src/components/chat/hooks/useTurnLookup.ts delete mode 100644 src/packages/ui/src/components/chat/hooks/useTurnRecords.ts delete mode 100644 src/packages/ui/src/components/chat/lib/blockingRequests.ts delete mode 100644 src/packages/ui/src/components/chat/lib/scroll/scrollIntent.ts delete mode 100644 src/packages/ui/src/components/chat/lib/scroll/scrollSpy.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/applyRetryOverlay.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/constants.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/historySignals.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/projectTurnActivity.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/projectTurnIndexes.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/projectTurnRecords.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/projectTurnSummary.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/stabilizeTurnProjection.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/stageTurns.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/types.ts delete mode 100644 src/packages/ui/src/components/chat/lib/turns/windowTurns.ts delete mode 100644 src/packages/ui/src/components/chat/message/DiffViewToggle.tsx delete mode 100644 src/packages/ui/src/components/chat/message/FadeInOnReveal.tsx delete mode 100644 src/packages/ui/src/components/chat/message/MessageBody.tsx delete mode 100644 src/packages/ui/src/components/chat/message/MessageHeader.tsx delete mode 100644 src/packages/ui/src/components/chat/message/TextSelectionMenu.tsx delete mode 100644 src/packages/ui/src/components/chat/message/ToolOutputDialog.tsx delete mode 100644 src/packages/ui/src/components/chat/message/messageRole.ts delete mode 100644 src/packages/ui/src/components/chat/message/normalizeUserDisplayParts.ts delete mode 100644 src/packages/ui/src/components/chat/message/partUtils.ts delete mode 100644 src/packages/ui/src/components/chat/message/parts/AssistantTextPart.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/BusyDots.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/DOCUMENTATION.md delete mode 100644 src/packages/ui/src/components/chat/message/parts/JustificationBlock.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/MigratingPart.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/MinDurationShineText.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/ProgressiveGroup.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/ReasoningPart.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/SessionActiveSpinner.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/ToolPart.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/ToolRevealOnMount.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/UserTextPart.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/VirtualizedCodeBlock.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/WorkingPlaceholder.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/__tests__/resolveFallbackTaskSessionId.test.js delete mode 100644 src/packages/ui/src/components/chat/message/parts/assistantTextVisibility.ts delete mode 100644 src/packages/ui/src/components/chat/message/parts/resolveFallbackTaskSessionId.ts delete mode 100644 src/packages/ui/src/components/chat/message/parts/toolPresentation.tsx delete mode 100644 src/packages/ui/src/components/chat/message/parts/toolRenderUtils.ts delete mode 100644 src/packages/ui/src/components/chat/message/parts/useDurationTicker.ts delete mode 100644 src/packages/ui/src/components/chat/message/renderCompare.ts delete mode 100644 src/packages/ui/src/components/chat/message/timeFormat.ts delete mode 100644 src/packages/ui/src/components/chat/message/toolRenderers.tsx delete mode 100644 src/packages/ui/src/components/chat/message/types.ts delete mode 100644 src/packages/ui/src/components/chat/mobileControlsUtils.ts delete mode 100644 src/packages/ui/src/components/comments/CodeMirrorCommentWidgets.tsx delete mode 100644 src/packages/ui/src/components/comments/InlineCommentCard.tsx delete mode 100644 src/packages/ui/src/components/comments/InlineCommentInput.tsx delete mode 100644 src/packages/ui/src/components/comments/PierreDiffCommentOverlays.tsx delete mode 100644 src/packages/ui/src/components/comments/PierreDiffCommentUtils.ts delete mode 100644 src/packages/ui/src/components/comments/index.ts delete mode 100644 src/packages/ui/src/components/comments/useInlineCommentController.ts delete mode 100644 src/packages/ui/src/components/desktop/DesktopHostSwitcher.tsx delete mode 100644 src/packages/ui/src/components/desktop/OpenInAppButton.tsx delete mode 100644 src/packages/ui/src/components/icons/ArrowsMerge.tsx delete mode 100644 src/packages/ui/src/components/icons/DiffIcon.tsx delete mode 100644 src/packages/ui/src/components/icons/FileTypeIcon.tsx delete mode 100644 src/packages/ui/src/components/icons/McpIcon.tsx delete mode 100644 src/packages/ui/src/components/icons/StopIcon.tsx delete mode 100644 src/packages/ui/src/components/layout/BottomTerminalDock.tsx delete mode 100644 src/packages/ui/src/components/layout/ContextPanel.tsx delete mode 100644 src/packages/ui/src/components/layout/ContextSidebarTab.tsx delete mode 100644 src/packages/ui/src/components/layout/Header.tsx delete mode 100644 src/packages/ui/src/components/layout/MainLayout.tsx delete mode 100644 src/packages/ui/src/components/layout/ProjectActionsButton.tsx delete mode 100644 src/packages/ui/src/components/layout/ProjectEditDialog.tsx delete mode 100644 src/packages/ui/src/components/layout/RightSidebar.tsx delete mode 100644 src/packages/ui/src/components/layout/RightSidebarTabs.tsx delete mode 100644 src/packages/ui/src/components/layout/Sidebar.tsx delete mode 100644 src/packages/ui/src/components/layout/SidebarFilesTree.tsx delete mode 100644 src/packages/ui/src/components/layout/VSCodeLayout.tsx delete mode 100644 src/packages/ui/src/components/mcp/McpDropdown.tsx delete mode 100644 src/packages/ui/src/components/multirun/AgentSelector.tsx delete mode 100644 src/packages/ui/src/components/multirun/BranchSelector.tsx delete mode 100644 src/packages/ui/src/components/multirun/ModelMultiSelect.tsx delete mode 100644 src/packages/ui/src/components/multirun/MultiRunLauncher.tsx delete mode 100644 src/packages/ui/src/components/multirun/index.ts delete mode 100644 src/packages/ui/src/components/onboarding/ChooserScreen.tsx delete mode 100644 src/packages/ui/src/components/onboarding/DesktopConnectionRecovery.tsx delete mode 100644 src/packages/ui/src/components/onboarding/LocalSetupScreen.tsx delete mode 100644 src/packages/ui/src/components/onboarding/OnboardingScreen.tsx delete mode 100644 src/packages/ui/src/components/onboarding/RecoveryScreen.tsx delete mode 100644 src/packages/ui/src/components/onboarding/RemoteConnectionForm.tsx delete mode 100644 src/packages/ui/src/components/onboarding/desktopRecoveryConfig.test.ts delete mode 100644 src/packages/ui/src/components/onboarding/desktopRecoveryConfig.ts delete mode 100644 src/packages/ui/src/components/onboarding/desktopRecoveryRouting.test.ts delete mode 100644 src/packages/ui/src/components/onboarding/desktopRecoveryRouting.ts delete mode 100644 src/packages/ui/src/components/providers/ThemeProvider.tsx delete mode 100644 src/packages/ui/src/components/sections/SectionPlaceholder.tsx delete mode 100644 src/packages/ui/src/components/sections/agents/AgentsPage.tsx delete mode 100644 src/packages/ui/src/components/sections/agents/AgentsSidebar.tsx delete mode 100644 src/packages/ui/src/components/sections/agents/ModelSelector.tsx delete mode 100644 src/packages/ui/src/components/sections/commands/AgentSelector.tsx delete mode 100644 src/packages/ui/src/components/sections/commands/CommandsPage.tsx delete mode 100644 src/packages/ui/src/components/sections/commands/CommandsSidebar.tsx delete mode 100644 src/packages/ui/src/components/sections/git-identities/GitIdentityEditorDialog.tsx delete mode 100644 src/packages/ui/src/components/sections/git-identities/GitPage.tsx delete mode 100644 src/packages/ui/src/components/sections/magic-prompts/MagicPromptsPage.tsx delete mode 100644 src/packages/ui/src/components/sections/magic-prompts/MagicPromptsSidebar.tsx delete mode 100644 src/packages/ui/src/components/sections/mcp/McpOAuthCallbackPage.tsx delete mode 100644 src/packages/ui/src/components/sections/mcp/McpPage.tsx delete mode 100644 src/packages/ui/src/components/sections/mcp/McpSidebar.tsx delete mode 100644 src/packages/ui/src/components/sections/mcp/mcpImport.ts delete mode 100644 src/packages/ui/src/components/sections/mcp/mcpOAuth.ts delete mode 100644 src/packages/ui/src/components/sections/openchamber/AboutSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/DefaultsSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/DesktopNetworkSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/GitHubSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/GitSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/KeyboardShortcutsSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/NotificationSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/OpenChamberPage.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/OpenChamberVisualSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/OpenCodeCliSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/PasskeySettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/SessionRetentionSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/TunnelSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/VoiceSettings.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/WorktreeSectionContent.tsx delete mode 100644 src/packages/ui/src/components/sections/openchamber/types.ts delete mode 100644 src/packages/ui/src/components/sections/projects/ProjectActionsSection.tsx delete mode 100644 src/packages/ui/src/components/sections/projects/ProjectsPage.tsx delete mode 100644 src/packages/ui/src/components/sections/projects/ProjectsSidebar.tsx delete mode 100644 src/packages/ui/src/components/sections/providers/ProvidersPage.tsx delete mode 100644 src/packages/ui/src/components/sections/providers/ProvidersSidebar.tsx delete mode 100644 src/packages/ui/src/components/sections/remote-instances/RemoteInstancesPage.tsx delete mode 100644 src/packages/ui/src/components/sections/remote-instances/RemoteInstancesSidebar.tsx delete mode 100644 src/packages/ui/src/components/sections/shared/SettingsPageLayout.tsx delete mode 100644 src/packages/ui/src/components/sections/shared/SettingsProjectSelector.tsx delete mode 100644 src/packages/ui/src/components/sections/shared/SettingsSection.tsx delete mode 100644 src/packages/ui/src/components/sections/shared/SettingsSidebarHeader.tsx delete mode 100644 src/packages/ui/src/components/sections/shared/SettingsSidebarItem.tsx delete mode 100644 src/packages/ui/src/components/sections/shared/SettingsSidebarLayout.tsx delete mode 100644 src/packages/ui/src/components/sections/shared/SidebarGroup.tsx delete mode 100644 src/packages/ui/src/components/sections/shared/index.ts delete mode 100644 src/packages/ui/src/components/sections/skills/SkillsPage.tsx delete mode 100644 src/packages/ui/src/components/sections/skills/SkillsSidebar.tsx delete mode 100644 src/packages/ui/src/components/sections/skills/catalog/AddCatalogDialog.tsx delete mode 100644 src/packages/ui/src/components/sections/skills/catalog/InstallConflictsDialog.tsx delete mode 100644 src/packages/ui/src/components/sections/skills/catalog/InstallFromRepoDialog.tsx delete mode 100644 src/packages/ui/src/components/sections/skills/catalog/InstallSkillDialog.tsx delete mode 100644 src/packages/ui/src/components/sections/skills/catalog/SkillsCatalogPage.tsx delete mode 100644 src/packages/ui/src/components/sections/skills/index.ts delete mode 100644 src/packages/ui/src/components/sections/skills/skillLocations.ts delete mode 100644 src/packages/ui/src/components/sections/usage/PaceIndicator.tsx delete mode 100644 src/packages/ui/src/components/sections/usage/UsageCard.tsx delete mode 100644 src/packages/ui/src/components/sections/usage/UsagePage.tsx delete mode 100644 src/packages/ui/src/components/sections/usage/UsageProgressBar.tsx delete mode 100644 src/packages/ui/src/components/sections/usage/UsageSidebar.tsx delete mode 100644 src/packages/ui/src/components/session/BranchPickerDialog.tsx delete mode 100644 src/packages/ui/src/components/session/DirectoryAutocomplete.tsx delete mode 100644 src/packages/ui/src/components/session/DirectoryExplorerDialog.tsx delete mode 100644 src/packages/ui/src/components/session/DirectoryTree.tsx delete mode 100644 src/packages/ui/src/components/session/GitHubIntegrationDialog.tsx delete mode 100644 src/packages/ui/src/components/session/GitHubIssuePickerDialog.tsx delete mode 100644 src/packages/ui/src/components/session/GitHubPrPickerDialog.tsx delete mode 100644 src/packages/ui/src/components/session/NewWorktreeDialog.tsx delete mode 100644 src/packages/ui/src/components/session/ProjectNotesTodoPanel.tsx delete mode 100644 src/packages/ui/src/components/session/SaveProjectPlanDialog.tsx delete mode 100644 src/packages/ui/src/components/session/ScheduledTaskEditorDialog.tsx delete mode 100644 src/packages/ui/src/components/session/ScheduledTasksDialog.tsx delete mode 100644 src/packages/ui/src/components/session/SessionDialogs.tsx delete mode 100644 src/packages/ui/src/components/session/SessionFolderItem.tsx delete mode 100644 src/packages/ui/src/components/session/SessionSidebar.tsx delete mode 100644 src/packages/ui/src/components/session/TodoSendDialog.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/BulkActionBar.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/ConfirmDialogs.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/DOCUMENTATION.md delete mode 100644 src/packages/ui/src/components/session/sidebar/SessionGroupSection.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/SessionNodeItem.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/SidebarActivitySections.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/SidebarFooter.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/SidebarHeader.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/SidebarProjectsList.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/activitySections.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useArchivedAutoFolders.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useDirectoryStatusProbe.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useGroupOrdering.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useProjectRepoStatus.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useProjectSessionLists.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useProjectSessionSelection.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useSessionActions.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useSessionFolderCleanup.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useSessionGrouping.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useSessionPrefetch.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useSessionSearchEffects.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useSessionSidebarSections.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useSidebarPersistence.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/hooks/useStickyProjectHeaders.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/sessionFolderDnd.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/sortableItems.tsx delete mode 100644 src/packages/ui/src/components/session/sidebar/types.ts delete mode 100644 src/packages/ui/src/components/session/sidebar/utils.tsx delete mode 100644 src/packages/ui/src/components/terminal/TerminalViewport.tsx delete mode 100644 src/packages/ui/src/components/ui/AboutDialog.tsx delete mode 100644 src/packages/ui/src/components/ui/CodeMirrorEditor.tsx delete mode 100644 src/packages/ui/src/components/ui/CommandPalette.tsx delete mode 100644 src/packages/ui/src/components/ui/ConfigUpdateOverlay.tsx delete mode 100644 src/packages/ui/src/components/ui/ContextUsageDisplay.tsx delete mode 100644 src/packages/ui/src/components/ui/ErrorBoundary.tsx delete mode 100644 src/packages/ui/src/components/ui/FireworksAnimation.tsx delete mode 100644 src/packages/ui/src/components/ui/HelpDialog.tsx delete mode 100644 src/packages/ui/src/components/ui/JsonTreeView.tsx delete mode 100644 src/packages/ui/src/components/ui/JsonTreeViewer.tsx delete mode 100644 src/packages/ui/src/components/ui/MemoryDebugPanel.tsx delete mode 100644 src/packages/ui/src/components/ui/MobileOverlayPanel.tsx delete mode 100644 src/packages/ui/src/components/ui/OpenChamberLogo.tsx delete mode 100644 src/packages/ui/src/components/ui/OpenCodeIcon.tsx delete mode 100644 src/packages/ui/src/components/ui/OpenCodeLogo.tsx delete mode 100644 src/packages/ui/src/components/ui/OpenCodeStatusDialog.tsx delete mode 100644 src/packages/ui/src/components/ui/OverlayScrollbar.tsx delete mode 100644 src/packages/ui/src/components/ui/ProviderLogo.tsx delete mode 100644 src/packages/ui/src/components/ui/QuickOpenDialog.tsx delete mode 100644 src/packages/ui/src/components/ui/ScrollShadow.tsx delete mode 100644 src/packages/ui/src/components/ui/ScrollableOverlay.tsx delete mode 100644 src/packages/ui/src/components/ui/TextLoop.tsx delete mode 100644 src/packages/ui/src/components/ui/UpdateDialog.tsx delete mode 100644 src/packages/ui/src/components/ui/alert.tsx delete mode 100644 src/packages/ui/src/components/ui/button.tsx delete mode 100644 src/packages/ui/src/components/ui/card.tsx delete mode 100644 src/packages/ui/src/components/ui/checkbox.tsx delete mode 100644 src/packages/ui/src/components/ui/collapsible.tsx delete mode 100644 src/packages/ui/src/components/ui/command.tsx delete mode 100644 src/packages/ui/src/components/ui/dialog.tsx delete mode 100644 src/packages/ui/src/components/ui/dropdown-menu.tsx delete mode 100644 src/packages/ui/src/components/ui/fancy-button.tsx delete mode 100644 src/packages/ui/src/components/ui/index.ts delete mode 100644 src/packages/ui/src/components/ui/input.tsx delete mode 100644 src/packages/ui/src/components/ui/number-input.tsx delete mode 100644 src/packages/ui/src/components/ui/radio.tsx delete mode 100644 src/packages/ui/src/components/ui/scroll-area.tsx delete mode 100644 src/packages/ui/src/components/ui/select.tsx delete mode 100644 src/packages/ui/src/components/ui/separator.tsx delete mode 100644 src/packages/ui/src/components/ui/skeleton.tsx delete mode 100644 src/packages/ui/src/components/ui/slider.tsx delete mode 100644 src/packages/ui/src/components/ui/slot.tsx delete mode 100644 src/packages/ui/src/components/ui/sonner.tsx delete mode 100644 src/packages/ui/src/components/ui/sortable-tabs-strip.tsx delete mode 100644 src/packages/ui/src/components/ui/switch.tsx delete mode 100644 src/packages/ui/src/components/ui/text.tsx delete mode 100644 src/packages/ui/src/components/ui/textarea.tsx delete mode 100644 src/packages/ui/src/components/ui/toast.ts delete mode 100644 src/packages/ui/src/components/ui/toggle.tsx delete mode 100644 src/packages/ui/src/components/ui/tooltip.tsx delete mode 100644 src/packages/ui/src/components/ui/typewriter-text.tsx delete mode 100644 src/packages/ui/src/components/views/ChatView.tsx delete mode 100644 src/packages/ui/src/components/views/DiffView.tsx delete mode 100644 src/packages/ui/src/components/views/FilesView.tsx delete mode 100644 src/packages/ui/src/components/views/GitView.tsx delete mode 100644 src/packages/ui/src/components/views/GoToLineDialog.tsx delete mode 100644 src/packages/ui/src/components/views/MultiRunWindow.tsx delete mode 100644 src/packages/ui/src/components/views/PierreDiffViewer.tsx delete mode 100644 src/packages/ui/src/components/views/PlanView.tsx delete mode 100644 src/packages/ui/src/components/views/PreviewToggleButton.tsx delete mode 100644 src/packages/ui/src/components/views/SettingsView.tsx delete mode 100644 src/packages/ui/src/components/views/SettingsWindow.tsx delete mode 100644 src/packages/ui/src/components/views/TerminalView.tsx delete mode 100644 src/packages/ui/src/components/views/agent-manager/AgentGroupDetail.tsx delete mode 100644 src/packages/ui/src/components/views/agent-manager/AgentManagerEmptyState.tsx delete mode 100644 src/packages/ui/src/components/views/agent-manager/AgentManagerSidebar.tsx delete mode 100644 src/packages/ui/src/components/views/agent-manager/AgentManagerView.tsx delete mode 100644 src/packages/ui/src/components/views/agent-manager/index.ts delete mode 100644 src/packages/ui/src/components/views/git/AIHighlightsBox.tsx delete mode 100644 src/packages/ui/src/components/views/git/BranchIntegrationSection.tsx delete mode 100644 src/packages/ui/src/components/views/git/BranchSelector.tsx delete mode 100644 src/packages/ui/src/components/views/git/ChangeRow.tsx delete mode 100644 src/packages/ui/src/components/views/git/ChangesSection.tsx delete mode 100644 src/packages/ui/src/components/views/git/CommitInput.tsx delete mode 100644 src/packages/ui/src/components/views/git/CommitSection.tsx delete mode 100644 src/packages/ui/src/components/views/git/ConflictDialog.tsx delete mode 100644 src/packages/ui/src/components/views/git/GitEmptyState.tsx delete mode 100644 src/packages/ui/src/components/views/git/GitHeader.tsx delete mode 100644 src/packages/ui/src/components/views/git/HistoryCommitRow.tsx delete mode 100644 src/packages/ui/src/components/views/git/HistorySection.tsx delete mode 100644 src/packages/ui/src/components/views/git/InProgressOperationBanner.tsx delete mode 100644 src/packages/ui/src/components/views/git/IntegrateCommitsSection.tsx delete mode 100644 src/packages/ui/src/components/views/git/PullRequestSection.tsx delete mode 100644 src/packages/ui/src/components/views/git/StashDialog.tsx delete mode 100644 src/packages/ui/src/components/views/git/SyncActions.tsx delete mode 100644 src/packages/ui/src/components/views/git/WorktreeBranchDisplay.tsx delete mode 100644 src/packages/ui/src/components/views/git/index.ts delete mode 100644 src/packages/ui/src/components/views/index.ts delete mode 100644 src/packages/ui/src/components/voice/BrowserVoiceButton.tsx delete mode 100644 src/packages/ui/src/components/voice/VoiceProvider.tsx delete mode 100644 src/packages/ui/src/components/voice/VoiceStatusIndicator.tsx delete mode 100644 src/packages/ui/src/components/voice/index.ts delete mode 100644 src/packages/ui/src/constants/sidebar.ts delete mode 100644 src/packages/ui/src/contexts/DiffWorkerProvider.tsx delete mode 100644 src/packages/ui/src/contexts/DrawerContext.tsx delete mode 100644 src/packages/ui/src/contexts/FireworksContext.tsx delete mode 100644 src/packages/ui/src/contexts/RuntimeAPIProvider.tsx delete mode 100644 src/packages/ui/src/contexts/ThemeSystemContext.tsx delete mode 100644 src/packages/ui/src/contexts/runtimeAPIContext.ts delete mode 100644 src/packages/ui/src/contexts/runtimeAPIRegistry.ts delete mode 100644 src/packages/ui/src/contexts/theme-system-context.ts delete mode 100644 src/packages/ui/src/contexts/useThemeSystem.ts delete mode 100644 src/packages/ui/src/hooks/useAssistantStatus.ts delete mode 100644 src/packages/ui/src/hooks/useAssistantTyping.ts delete mode 100644 src/packages/ui/src/hooks/useAvailableTools.ts delete mode 100644 src/packages/ui/src/hooks/useBrowserVoice.ts delete mode 100644 src/packages/ui/src/hooks/useChatScrollManager.ts delete mode 100644 src/packages/ui/src/hooks/useChatSearchDirectory.ts delete mode 100644 src/packages/ui/src/hooks/useDebouncedValue.ts delete mode 100644 src/packages/ui/src/hooks/useDetectedWorktreeRoot.ts delete mode 100644 src/packages/ui/src/hooks/useDrawerSwipe.ts delete mode 100644 src/packages/ui/src/hooks/useEdgeSwipe.ts delete mode 100644 src/packages/ui/src/hooks/useEffectiveDirectory.ts delete mode 100644 src/packages/ui/src/hooks/useFileSystemAccess.ts delete mode 100644 src/packages/ui/src/hooks/useFireworks.ts delete mode 100644 src/packages/ui/src/hooks/useFontPreferences.ts delete mode 100644 src/packages/ui/src/hooks/useIsTextTruncated.ts delete mode 100644 src/packages/ui/src/hooks/useKeyboardShortcuts.ts delete mode 100644 src/packages/ui/src/hooks/useLongPress.ts delete mode 100644 src/packages/ui/src/hooks/useMenuActions.ts delete mode 100644 src/packages/ui/src/hooks/useMessageTTS.ts delete mode 100644 src/packages/ui/src/hooks/useModelLists.ts delete mode 100644 src/packages/ui/src/hooks/usePlanDetection.ts delete mode 100644 src/packages/ui/src/hooks/useProviderLogo.ts delete mode 100644 src/packages/ui/src/hooks/usePushVisibilityBeacon.ts delete mode 100644 src/packages/ui/src/hooks/usePwaDetection.ts delete mode 100644 src/packages/ui/src/hooks/usePwaInstallPrompt.ts delete mode 100644 src/packages/ui/src/hooks/usePwaManifestSync.ts delete mode 100644 src/packages/ui/src/hooks/useQueuedMessageAutoSend.ts delete mode 100644 src/packages/ui/src/hooks/useRouter.ts delete mode 100644 src/packages/ui/src/hooks/useRuntimeAPIs.ts delete mode 100644 src/packages/ui/src/hooks/useSayTTS.ts delete mode 100644 src/packages/ui/src/hooks/useScrollEngine.ts delete mode 100644 src/packages/ui/src/hooks/useServerTTS.ts delete mode 100644 src/packages/ui/src/hooks/useSessionActivity.ts delete mode 100644 src/packages/ui/src/hooks/useSessionAutoCleanup.ts delete mode 100644 src/packages/ui/src/hooks/useSessionStatusBootstrap.ts delete mode 100644 src/packages/ui/src/hooks/useTimelineStaging.ts delete mode 100644 src/packages/ui/src/hooks/useVoiceContext.ts delete mode 100644 src/packages/ui/src/hooks/useWindowControlsOverlayLayout.ts delete mode 100644 src/packages/ui/src/hooks/useWindowTitle.ts delete mode 100644 src/packages/ui/src/index.css delete mode 100644 src/packages/ui/src/lib/agentColors.ts delete mode 100644 src/packages/ui/src/lib/api/types.ts delete mode 100644 src/packages/ui/src/lib/appearanceAutoSave.ts delete mode 100644 src/packages/ui/src/lib/appearancePersistence.ts delete mode 100644 src/packages/ui/src/lib/chunkLoadRecovery.ts delete mode 100644 src/packages/ui/src/lib/clipboard.ts delete mode 100644 src/packages/ui/src/lib/codeTheme.ts delete mode 100644 src/packages/ui/src/lib/codemirror/flexokiTheme.ts delete mode 100644 src/packages/ui/src/lib/codemirror/languageByExtension.ts delete mode 100644 src/packages/ui/src/lib/concurrency.ts delete mode 100644 src/packages/ui/src/lib/configSync.ts delete mode 100644 src/packages/ui/src/lib/configUpdate.ts delete mode 100644 src/packages/ui/src/lib/contextFileOpenGuard.ts delete mode 100644 src/packages/ui/src/lib/debug.ts delete mode 100644 src/packages/ui/src/lib/desktop.ts delete mode 100644 src/packages/ui/src/lib/desktopBoot.test.ts delete mode 100644 src/packages/ui/src/lib/desktopBoot.ts delete mode 100644 src/packages/ui/src/lib/desktopHosts.ts delete mode 100644 src/packages/ui/src/lib/desktopNative.ts delete mode 100644 src/packages/ui/src/lib/desktopSsh.ts delete mode 100644 src/packages/ui/src/lib/device.ts delete mode 100644 src/packages/ui/src/lib/diff/workerFactory.ts delete mode 100644 src/packages/ui/src/lib/directoryPersistence.ts delete mode 100644 src/packages/ui/src/lib/directoryShowHidden.ts delete mode 100644 src/packages/ui/src/lib/execCommands.ts delete mode 100644 src/packages/ui/src/lib/exportSession.ts delete mode 100644 src/packages/ui/src/lib/fileOpenLimits.ts delete mode 100644 src/packages/ui/src/lib/fileTypeIconIds.ts delete mode 100644 src/packages/ui/src/lib/fileTypeIcons.ts delete mode 100644 src/packages/ui/src/lib/filesViewShowGitignored.ts delete mode 100644 src/packages/ui/src/lib/fontLoader.ts delete mode 100644 src/packages/ui/src/lib/fontOptions.ts delete mode 100644 src/packages/ui/src/lib/git/branchNameGenerator.ts delete mode 100644 src/packages/ui/src/lib/git/integrateWorktreeCommits.ts delete mode 100644 src/packages/ui/src/lib/gitApi.ts delete mode 100644 src/packages/ui/src/lib/gitApiHttp.ts delete mode 100644 src/packages/ui/src/lib/i18n/context.tsx delete mode 100644 src/packages/ui/src/lib/i18n/index.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/en.settings.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/en.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/es.settings.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/es.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/ko.settings.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/ko.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/pt-BR.settings.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/pt-BR.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/uk.settings.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/uk.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/zh-CN.settings.ts delete mode 100644 src/packages/ui/src/lib/i18n/messages/zh-CN.ts delete mode 100644 src/packages/ui/src/lib/i18n/react-context.ts delete mode 100644 src/packages/ui/src/lib/i18n/runtime.ts delete mode 100644 src/packages/ui/src/lib/i18n/store.ts delete mode 100644 src/packages/ui/src/lib/i18n/useI18n.ts delete mode 100644 src/packages/ui/src/lib/ime.ts delete mode 100644 src/packages/ui/src/lib/jsonTreeUtils.ts delete mode 100644 src/packages/ui/src/lib/magicPrompts.ts delete mode 100644 src/packages/ui/src/lib/messageCompletion.ts delete mode 100644 src/packages/ui/src/lib/messageCursorPersistence.ts delete mode 100644 src/packages/ui/src/lib/messageFreshness.ts delete mode 100644 src/packages/ui/src/lib/messages/agentMentions.ts delete mode 100644 src/packages/ui/src/lib/messages/executionMeta.ts delete mode 100644 src/packages/ui/src/lib/messages/inlineComments.ts delete mode 100644 src/packages/ui/src/lib/messages/messageText.ts delete mode 100644 src/packages/ui/src/lib/messages/providerAuthError.ts delete mode 100644 src/packages/ui/src/lib/messages/synthetic.test.ts delete mode 100644 src/packages/ui/src/lib/messages/synthetic.ts delete mode 100644 src/packages/ui/src/lib/modelPrefsAutoSave.ts delete mode 100644 src/packages/ui/src/lib/openCodeStatus.ts delete mode 100644 src/packages/ui/src/lib/openInApps.ts delete mode 100644 src/packages/ui/src/lib/openchamberConfig.ts delete mode 100644 src/packages/ui/src/lib/openchamberEvents.ts delete mode 100644 src/packages/ui/src/lib/opencode/client.ts delete mode 100644 src/packages/ui/src/lib/passkeys.ts delete mode 100644 src/packages/ui/src/lib/permissions/editModeColors.ts delete mode 100644 src/packages/ui/src/lib/permissions/editPermissionDefaults.ts delete mode 100644 src/packages/ui/src/lib/persistence.ts delete mode 100644 src/packages/ui/src/lib/projectActions.ts delete mode 100644 src/packages/ui/src/lib/projectId.ts delete mode 100644 src/packages/ui/src/lib/projectMeta.ts delete mode 100644 src/packages/ui/src/lib/projectResolution.ts delete mode 100644 src/packages/ui/src/lib/pwa.ts delete mode 100644 src/packages/ui/src/lib/quota/index.ts delete mode 100644 src/packages/ui/src/lib/quota/model-families.ts delete mode 100644 src/packages/ui/src/lib/quota/providers/base.ts delete mode 100644 src/packages/ui/src/lib/quota/providers/index.ts delete mode 100644 src/packages/ui/src/lib/quota/utils.ts delete mode 100644 src/packages/ui/src/lib/router/index.ts delete mode 100644 src/packages/ui/src/lib/router/parseRoute.ts delete mode 100644 src/packages/ui/src/lib/router/serializeRoute.ts delete mode 100644 src/packages/ui/src/lib/router/types.ts delete mode 100644 src/packages/ui/src/lib/scheduledTasksApi.ts delete mode 100644 src/packages/ui/src/lib/search/fuzzySearch.ts delete mode 100644 src/packages/ui/src/lib/sessionEvents.ts delete mode 100644 src/packages/ui/src/lib/settings/metadata.ts delete mode 100644 src/packages/ui/src/lib/shiki/appThemeRegistry.ts delete mode 100644 src/packages/ui/src/lib/shiki/textMateThemeFromAppTheme.ts delete mode 100644 src/packages/ui/src/lib/shiki/vscodeTextMateTheme.ts delete mode 100644 src/packages/ui/src/lib/shortcuts.ts delete mode 100644 src/packages/ui/src/lib/terminal/SerializeAddon.ts delete mode 100644 src/packages/ui/src/lib/terminalApi.ts delete mode 100644 src/packages/ui/src/lib/terminalTheme.ts delete mode 100644 src/packages/ui/src/lib/theme/cssGenerator.ts delete mode 100644 src/packages/ui/src/lib/theme/syntaxThemeGenerator.ts delete mode 100644 src/packages/ui/src/lib/theme/themes/amoled-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/amoled-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/aura-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/aura-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/ayu-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/ayu-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/carbonfox-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/carbonfox-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/catppuccin-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/catppuccin-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/cursor-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/cursor-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/dracula-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/dracula-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/fields-of-the-shire-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/fields-of-the-shire-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/flexoki-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/flexoki-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/github-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/github-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/gruvbox-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/gruvbox-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/index.ts delete mode 100644 src/packages/ui/src/lib/theme/themes/kanagawa-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/kanagawa-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/lucent-orng-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/lucent-orng-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/mono-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/mono-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/mono-plus-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/mono-plus-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/monokai-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/monokai-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/nightowl-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/nightowl-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/nord-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/nord-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/oc-2-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/oc-2-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/onedarkpro-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/onedarkpro-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/orng-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/orng-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/prColors.ts delete mode 100644 src/packages/ui/src/lib/theme/themes/presets.ts delete mode 100644 src/packages/ui/src/lib/theme/themes/rosepine-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/rosepine-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/shadesofpurple-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/shadesofpurple-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/solarized-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/solarized-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/tokyonight-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/tokyonight-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/vercel-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/vercel-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/vesper-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/vesper-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/vitesse-dark-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/vitesse-light-light.json delete mode 100644 src/packages/ui/src/lib/theme/themes/zenburn-dark.json delete mode 100644 src/packages/ui/src/lib/theme/themes/zenburn-light.json delete mode 100644 src/packages/ui/src/lib/theme/vscode/adapter.ts delete mode 100644 src/packages/ui/src/lib/toolHelpers.ts delete mode 100644 src/packages/ui/src/lib/toolStatus.ts delete mode 100644 src/packages/ui/src/lib/typography.ts delete mode 100644 src/packages/ui/src/lib/typographyWatcher.ts delete mode 100644 src/packages/ui/src/lib/url.ts delete mode 100644 src/packages/ui/src/lib/userSendAnimation.ts delete mode 100644 src/packages/ui/src/lib/utils.ts delete mode 100644 src/packages/ui/src/lib/voice/audioStreamService.ts delete mode 100644 src/packages/ui/src/lib/voice/browserVoiceService.ts delete mode 100644 src/packages/ui/src/lib/voice/contextFormatters.ts delete mode 100644 src/packages/ui/src/lib/voice/index.ts delete mode 100644 src/packages/ui/src/lib/voice/realtimeClientTools.ts delete mode 100644 src/packages/ui/src/lib/voice/summarize.ts delete mode 100644 src/packages/ui/src/lib/voice/voiceConfig.ts delete mode 100644 src/packages/ui/src/lib/voice/voiceHooks.ts delete mode 100644 src/packages/ui/src/lib/voice/voiceSession.ts delete mode 100644 src/packages/ui/src/lib/worktreeSessionCreator.ts delete mode 100644 src/packages/ui/src/lib/worktrees/branchSearch.ts delete mode 100644 src/packages/ui/src/lib/worktrees/pendingDraftWorktree.ts delete mode 100644 src/packages/ui/src/lib/worktrees/worktreeBootstrap.ts delete mode 100644 src/packages/ui/src/lib/worktrees/worktreeCreate.ts delete mode 100644 src/packages/ui/src/lib/worktrees/worktreeManager.ts delete mode 100644 src/packages/ui/src/lib/worktrees/worktreeStatus.ts delete mode 100644 src/packages/ui/src/main.tsx delete mode 100644 src/packages/ui/src/stores/DOCUMENTATION.md delete mode 100644 src/packages/ui/src/stores/contextStore.ts delete mode 100644 src/packages/ui/src/stores/fileStore.ts delete mode 100644 src/packages/ui/src/stores/globalSessions.ts delete mode 100644 src/packages/ui/src/stores/messageQueueStore.ts delete mode 100644 src/packages/ui/src/stores/permissionStore.ts delete mode 100644 src/packages/ui/src/stores/types/sessionTypes.ts delete mode 100644 src/packages/ui/src/stores/useAgentGroupsStore.ts delete mode 100644 src/packages/ui/src/stores/useAgentsStore.ts delete mode 100644 src/packages/ui/src/stores/useCommandsStore.ts delete mode 100644 src/packages/ui/src/stores/useConfigStore.ts delete mode 100644 src/packages/ui/src/stores/useDesktopSshStore.ts delete mode 100644 src/packages/ui/src/stores/useDirectoryStore.ts delete mode 100644 src/packages/ui/src/stores/useFeatureFlagsStore.ts delete mode 100644 src/packages/ui/src/stores/useFileSearchStore.ts delete mode 100644 src/packages/ui/src/stores/useFilesViewTabsStore.ts delete mode 100644 src/packages/ui/src/stores/useGitHubAuthStore.ts delete mode 100644 src/packages/ui/src/stores/useGitHubPrStatusStore.ts delete mode 100644 src/packages/ui/src/stores/useGitIdentitiesStore.ts delete mode 100644 src/packages/ui/src/stores/useGitStore.ts delete mode 100644 src/packages/ui/src/stores/useGlobalSessionsStore.ts delete mode 100644 src/packages/ui/src/stores/useInlineCommentDraftStore.ts delete mode 100644 src/packages/ui/src/stores/useMagicPromptsStore.ts delete mode 100644 src/packages/ui/src/stores/useMcpConfigStore.ts delete mode 100644 src/packages/ui/src/stores/useMcpStore.ts delete mode 100644 src/packages/ui/src/stores/useMultiRunStore.ts delete mode 100644 src/packages/ui/src/stores/useOpenInAppsStore.ts delete mode 100644 src/packages/ui/src/stores/useProjectsStore.ts delete mode 100644 src/packages/ui/src/stores/useQuotaStore.ts delete mode 100644 src/packages/ui/src/stores/useSessionDisplayStore.ts delete mode 100644 src/packages/ui/src/stores/useSessionFoldersStore.ts delete mode 100644 src/packages/ui/src/stores/useSessionMultiSelectStore.ts delete mode 100644 src/packages/ui/src/stores/useSkillsCatalogStore.ts delete mode 100644 src/packages/ui/src/stores/useSkillsStore.ts delete mode 100644 src/packages/ui/src/stores/useTerminalStore.ts delete mode 100644 src/packages/ui/src/stores/useTodosPersistStore.ts delete mode 100644 src/packages/ui/src/stores/useUIStore.ts delete mode 100644 src/packages/ui/src/stores/useUpdateStore.ts delete mode 100644 src/packages/ui/src/stores/utils/contextUtils.ts delete mode 100644 src/packages/ui/src/stores/utils/messageProjectors.ts delete mode 100644 src/packages/ui/src/stores/utils/messageUtils.ts delete mode 100644 src/packages/ui/src/stores/utils/permissionAutoAccept.test.ts delete mode 100644 src/packages/ui/src/stores/utils/permissionAutoAccept.ts delete mode 100644 src/packages/ui/src/stores/utils/permissionUtils.ts delete mode 100644 src/packages/ui/src/stores/utils/safeStorage.ts delete mode 100644 src/packages/ui/src/stores/utils/streamDebug.ts delete mode 100644 src/packages/ui/src/stores/utils/streamingUtils.ts delete mode 100644 src/packages/ui/src/stores/utils/tokenUtils.ts delete mode 100644 src/packages/ui/src/styles/design-system.css delete mode 100644 src/packages/ui/src/styles/fireworks.css delete mode 100644 src/packages/ui/src/styles/fonts.ts delete mode 100644 src/packages/ui/src/styles/mobile.css delete mode 100644 src/packages/ui/src/styles/typography.css delete mode 100644 src/packages/ui/src/sync/DOCUMENTATION.md delete mode 100644 src/packages/ui/src/sync/__tests__/event-pipeline.bench.js delete mode 100644 src/packages/ui/src/sync/__tests__/event-pipeline.test.js delete mode 100644 src/packages/ui/src/sync/__tests__/event-reducer.test.js delete mode 100644 src/packages/ui/src/sync/__tests__/live-aggregate.test.js delete mode 100644 src/packages/ui/src/sync/binary.ts delete mode 100644 src/packages/ui/src/sync/bootstrap.ts delete mode 100644 src/packages/ui/src/sync/child-store.ts delete mode 100644 src/packages/ui/src/sync/content-cache.ts delete mode 100644 src/packages/ui/src/sync/debug.ts delete mode 100644 src/packages/ui/src/sync/event-pipeline.ts delete mode 100644 src/packages/ui/src/sync/event-reducer.ts delete mode 100644 src/packages/ui/src/sync/eviction.ts delete mode 100644 src/packages/ui/src/sync/global-sync-store.ts delete mode 100644 src/packages/ui/src/sync/index.ts delete mode 100644 src/packages/ui/src/sync/input-store.ts delete mode 100644 src/packages/ui/src/sync/live-aggregate.ts delete mode 100644 src/packages/ui/src/sync/notification-store.ts delete mode 100644 src/packages/ui/src/sync/optimistic.ts delete mode 100644 src/packages/ui/src/sync/persist-cache.ts delete mode 100644 src/packages/ui/src/sync/reconnect-recovery.test.ts delete mode 100644 src/packages/ui/src/sync/reconnect-recovery.ts delete mode 100644 src/packages/ui/src/sync/retry.ts delete mode 100644 src/packages/ui/src/sync/sanitize.ts delete mode 100644 src/packages/ui/src/sync/selection-store.ts delete mode 100644 src/packages/ui/src/sync/session-actions.test.ts delete mode 100644 src/packages/ui/src/sync/session-actions.ts delete mode 100644 src/packages/ui/src/sync/session-cache.ts delete mode 100644 src/packages/ui/src/sync/session-prefetch-cache.ts delete mode 100644 src/packages/ui/src/sync/session-ui-store.test.js delete mode 100644 src/packages/ui/src/sync/session-ui-store.ts delete mode 100644 src/packages/ui/src/sync/session-worktree-contract.test.js delete mode 100644 src/packages/ui/src/sync/session-worktree-contract.ts delete mode 100644 src/packages/ui/src/sync/session-worktree-store.test.js delete mode 100644 src/packages/ui/src/sync/session-worktree-store.ts delete mode 100644 src/packages/ui/src/sync/streaming.ts delete mode 100644 src/packages/ui/src/sync/submit.ts delete mode 100644 src/packages/ui/src/sync/sync-context.tsx delete mode 100644 src/packages/ui/src/sync/sync-refs.ts delete mode 100644 src/packages/ui/src/sync/types.ts delete mode 100644 src/packages/ui/src/sync/use-sync.ts delete mode 100644 src/packages/ui/src/sync/viewport-store.ts delete mode 100644 src/packages/ui/src/sync/voice-store.ts delete mode 100644 src/packages/ui/src/types/bun-test.d.ts delete mode 100644 src/packages/ui/src/types/codemirror-lang-elixir.d.ts delete mode 100644 src/packages/ui/src/types/desktop.d.ts delete mode 100644 src/packages/ui/src/types/ghostty-web.d.ts delete mode 100644 src/packages/ui/src/types/index.ts delete mode 100644 src/packages/ui/src/types/multirun.ts delete mode 100644 src/packages/ui/src/types/permission.ts delete mode 100644 src/packages/ui/src/types/question.ts delete mode 100644 src/packages/ui/src/types/quota.ts delete mode 100644 src/packages/ui/src/types/react-syntax-highlighter-create-element.d.ts delete mode 100644 src/packages/ui/src/types/theme.ts delete mode 100644 src/packages/ui/src/types/tool.ts delete mode 100644 src/packages/ui/src/types/vscode.d.ts delete mode 100644 src/packages/ui/src/types/worktree.ts delete mode 100644 src/packages/ui/src/vite-env.d.ts delete mode 100644 src/packages/ui/tsconfig.json delete mode 100644 src/packages/vscode/.vscodeignore delete mode 100644 src/packages/vscode/CHANGELOG.md delete mode 100644 src/packages/vscode/LICENSE delete mode 100644 src/packages/vscode/README.md delete mode 100644 src/packages/vscode/assets/app-icon.png delete mode 100644 src/packages/vscode/assets/icon-titlebar.svg delete mode 100644 src/packages/vscode/assets/icon.svg delete mode 100644 src/packages/vscode/extension.jpg delete mode 100644 src/packages/vscode/package.json delete mode 100644 src/packages/vscode/src/AgentManagerPanelProvider.ts delete mode 100644 src/packages/vscode/src/ChatViewProvider.ts delete mode 100644 src/packages/vscode/src/DOCUMENTATION.md delete mode 100644 src/packages/vscode/src/SessionEditorPanelProvider.ts delete mode 100644 src/packages/vscode/src/bridge-config-runtime.ts delete mode 100644 src/packages/vscode/src/bridge-fs-helpers-runtime.ts delete mode 100644 src/packages/vscode/src/bridge-fs-runtime.ts delete mode 100644 src/packages/vscode/src/bridge-git-process-runtime.ts delete mode 100644 src/packages/vscode/src/bridge-git-runtime.ts delete mode 100644 src/packages/vscode/src/bridge-git-special-runtime.ts delete mode 100644 src/packages/vscode/src/bridge-localfs-proxy-runtime.ts delete mode 100644 src/packages/vscode/src/bridge-proxy-runtime.ts delete mode 100644 src/packages/vscode/src/bridge-settings-runtime.ts delete mode 100644 src/packages/vscode/src/bridge-system-runtime.ts delete mode 100644 src/packages/vscode/src/bridge.ts delete mode 100644 src/packages/vscode/src/extension.ts delete mode 100644 src/packages/vscode/src/git.d.ts delete mode 100644 src/packages/vscode/src/gitService.ts delete mode 100644 src/packages/vscode/src/githubAuth.ts delete mode 100644 src/packages/vscode/src/githubIssues.ts delete mode 100644 src/packages/vscode/src/githubPr.ts delete mode 100644 src/packages/vscode/src/githubPulls.ts delete mode 100644 src/packages/vscode/src/opencode-ready.ts delete mode 100644 src/packages/vscode/src/opencode.ts delete mode 100644 src/packages/vscode/src/opencodeAuth.ts delete mode 100644 src/packages/vscode/src/opencodeConfig.ts delete mode 100644 src/packages/vscode/src/pathUtils.ts delete mode 100644 src/packages/vscode/src/quotaProviders.ts delete mode 100644 src/packages/vscode/src/sessionActivityWatcher.ts delete mode 100644 src/packages/vscode/src/shikiThemes.ts delete mode 100644 src/packages/vscode/src/skillsCatalog.ts delete mode 100644 src/packages/vscode/src/sseProxy.ts delete mode 100644 src/packages/vscode/src/theme.ts delete mode 100644 src/packages/vscode/src/webviewDevServer.ts delete mode 100644 src/packages/vscode/src/webviewHtml.ts delete mode 100644 src/packages/vscode/tsconfig.json delete mode 100644 src/packages/vscode/tsconfig.webview.json delete mode 100644 src/packages/vscode/vite.config.ts delete mode 100644 src/packages/vscode/webview/api/bridge.ts delete mode 100644 src/packages/vscode/webview/api/editor.ts delete mode 100644 src/packages/vscode/webview/api/files.ts delete mode 100644 src/packages/vscode/webview/api/git.ts delete mode 100644 src/packages/vscode/webview/api/github.ts delete mode 100644 src/packages/vscode/webview/api/index.ts delete mode 100644 src/packages/vscode/webview/api/notifications.ts delete mode 100644 src/packages/vscode/webview/api/permissions.ts delete mode 100644 src/packages/vscode/webview/api/settings.ts delete mode 100644 src/packages/vscode/webview/api/streamPerf.ts delete mode 100644 src/packages/vscode/webview/api/tools.ts delete mode 100644 src/packages/vscode/webview/api/vscode.ts delete mode 100644 src/packages/vscode/webview/index.html delete mode 100644 src/packages/vscode/webview/main.tsx delete mode 100644 src/packages/vscode/webview/tsconfig.json delete mode 100644 src/packages/web/.gitignore delete mode 100644 src/packages/web/README.md delete mode 100644 src/packages/web/bin/cli-entry.js delete mode 100644 src/packages/web/bin/cli-output.js delete mode 100755 src/packages/web/bin/cli.js delete mode 100644 src/packages/web/bin/cli.test.js delete mode 100644 src/packages/web/index.html delete mode 100644 src/packages/web/package.json delete mode 100644 src/packages/web/public/apple-touch-icon-120x120.png delete mode 100644 src/packages/web/public/apple-touch-icon-152x152.png delete mode 100644 src/packages/web/public/apple-touch-icon-167x167.png delete mode 100644 src/packages/web/public/apple-touch-icon-180x180.png delete mode 100644 src/packages/web/public/apple-touch-icon.png delete mode 100644 src/packages/web/public/apple-touch-icon.svg delete mode 100644 src/packages/web/public/favicon-16.png delete mode 100644 src/packages/web/public/favicon-32.png delete mode 100644 src/packages/web/public/favicon.png delete mode 100644 src/packages/web/public/favicon.svg delete mode 100644 src/packages/web/public/logo-dark-192x192.png delete mode 100644 src/packages/web/public/logo-dark-512x512.svg delete mode 100644 src/packages/web/public/logo-light-192x192.png delete mode 100644 src/packages/web/public/logo-light-512x512.svg delete mode 100644 src/packages/web/public/pwa-192.png delete mode 100644 src/packages/web/public/pwa-512.png delete mode 100644 src/packages/web/public/pwa-maskable-192.png delete mode 100644 src/packages/web/public/pwa-maskable-512.png delete mode 100644 src/packages/web/public/site.webmanifest delete mode 100644 src/packages/web/server/TERMINAL_WS_PROTOCOL.md delete mode 100644 src/packages/web/server/index.d.ts delete mode 100644 src/packages/web/server/index.js delete mode 100644 src/packages/web/server/lib/cloudflare-tunnel.js delete mode 100644 src/packages/web/server/lib/event-stream/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/event-stream/directory-ws-bridge.js delete mode 100644 src/packages/web/server/lib/event-stream/global-hub.js delete mode 100644 src/packages/web/server/lib/event-stream/global-ws-bridge.js delete mode 100644 src/packages/web/server/lib/event-stream/index.js delete mode 100644 src/packages/web/server/lib/event-stream/protocol.js delete mode 100644 src/packages/web/server/lib/event-stream/protocol.test.js delete mode 100644 src/packages/web/server/lib/event-stream/runtime.js delete mode 100644 src/packages/web/server/lib/event-stream/runtime.test.js delete mode 100644 src/packages/web/server/lib/event-stream/upstream-reader.js delete mode 100644 src/packages/web/server/lib/event-stream/upstream-reader.test.js delete mode 100644 src/packages/web/server/lib/fs/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/fs/routes.js delete mode 100644 src/packages/web/server/lib/fs/search.js delete mode 100644 src/packages/web/server/lib/git/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/git/credentials.js delete mode 100644 src/packages/web/server/lib/git/identity-storage.js delete mode 100644 src/packages/web/server/lib/git/index.js delete mode 100644 src/packages/web/server/lib/git/routes.js delete mode 100644 src/packages/web/server/lib/git/service.js delete mode 100644 src/packages/web/server/lib/github/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/github/auth.js delete mode 100644 src/packages/web/server/lib/github/device-flow.js delete mode 100644 src/packages/web/server/lib/github/index.js delete mode 100644 src/packages/web/server/lib/github/octokit.js delete mode 100644 src/packages/web/server/lib/github/pr-status.js delete mode 100644 src/packages/web/server/lib/github/repo/index.js delete mode 100644 src/packages/web/server/lib/github/routes.js delete mode 100644 src/packages/web/server/lib/magic-prompts/routes.js delete mode 100644 src/packages/web/server/lib/magic-prompts/runtime.js delete mode 100644 src/packages/web/server/lib/notifications/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/notifications/emitter-runtime.js delete mode 100644 src/packages/web/server/lib/notifications/index.js delete mode 100644 src/packages/web/server/lib/notifications/message.js delete mode 100644 src/packages/web/server/lib/notifications/message.test.js delete mode 100644 src/packages/web/server/lib/notifications/push-runtime.js delete mode 100644 src/packages/web/server/lib/notifications/routes.js delete mode 100644 src/packages/web/server/lib/notifications/runtime.js delete mode 100644 src/packages/web/server/lib/notifications/template-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/opencode/agents.js delete mode 100644 src/packages/web/server/lib/opencode/auth-state-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/auth.js delete mode 100644 src/packages/web/server/lib/opencode/bootstrap-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/cli-entry-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/cli-options.js delete mode 100644 src/packages/web/server/lib/opencode/commands.js delete mode 100644 src/packages/web/server/lib/opencode/config-entity-routes.js delete mode 100644 src/packages/web/server/lib/opencode/core-routes.js delete mode 100644 src/packages/web/server/lib/opencode/core-routes.test.js delete mode 100644 src/packages/web/server/lib/opencode/env-config.js delete mode 100644 src/packages/web/server/lib/opencode/env-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/feature-routes-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/hmr-state-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/index.js delete mode 100644 src/packages/web/server/lib/opencode/lifecycle.js delete mode 100644 src/packages/web/server/lib/opencode/lifecycle.test.js delete mode 100644 src/packages/web/server/lib/opencode/mcp.js delete mode 100644 src/packages/web/server/lib/opencode/network-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/openchamber-routes.js delete mode 100644 src/packages/web/server/lib/opencode/opencode-resolution-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/path-utils.js delete mode 100644 src/packages/web/server/lib/opencode/path-utils.test.js delete mode 100644 src/packages/web/server/lib/opencode/project-directory-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/project-icon-routes.js delete mode 100644 src/packages/web/server/lib/opencode/providers.js delete mode 100644 src/packages/web/server/lib/opencode/proxy.js delete mode 100644 src/packages/web/server/lib/opencode/pwa-manifest-routes.js delete mode 100644 src/packages/web/server/lib/opencode/routes.js delete mode 100644 src/packages/web/server/lib/opencode/server-startup-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/server-utils-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/server-utils-runtime.test.js delete mode 100644 src/packages/web/server/lib/opencode/session-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/session-runtime.test.js delete mode 100644 src/packages/web/server/lib/opencode/settings-helpers.js delete mode 100644 src/packages/web/server/lib/opencode/settings-helpers.test.js delete mode 100644 src/packages/web/server/lib/opencode/settings-normalization-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/settings-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/shared.js delete mode 100644 src/packages/web/server/lib/opencode/shutdown-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/skill-routes.js delete mode 100644 src/packages/web/server/lib/opencode/skills.js delete mode 100644 src/packages/web/server/lib/opencode/startup-pipeline-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/static-routes-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/theme-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/tunnel-auth.js delete mode 100644 src/packages/web/server/lib/opencode/tunnel-wiring-runtime.js delete mode 100644 src/packages/web/server/lib/opencode/watcher.js delete mode 100644 src/packages/web/server/lib/opencode/watcher.test.js delete mode 100644 src/packages/web/server/lib/package-manager.js delete mode 100644 src/packages/web/server/lib/projects/project-config.js delete mode 100644 src/packages/web/server/lib/projects/project-config.test.js delete mode 100644 src/packages/web/server/lib/projects/project-id.js delete mode 100644 src/packages/web/server/lib/quota/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/quota/index.js delete mode 100644 src/packages/web/server/lib/quota/providers/claude.js delete mode 100644 src/packages/web/server/lib/quota/providers/codex.js delete mode 100644 src/packages/web/server/lib/quota/providers/copilot.js delete mode 100644 src/packages/web/server/lib/quota/providers/google/api.js delete mode 100644 src/packages/web/server/lib/quota/providers/google/auth.js delete mode 100644 src/packages/web/server/lib/quota/providers/google/index.js delete mode 100644 src/packages/web/server/lib/quota/providers/google/transforms.js delete mode 100644 src/packages/web/server/lib/quota/providers/index.js delete mode 100644 src/packages/web/server/lib/quota/providers/interface.js delete mode 100644 src/packages/web/server/lib/quota/providers/kimi.js delete mode 100644 src/packages/web/server/lib/quota/providers/minimax-cn-coding-plan.js delete mode 100644 src/packages/web/server/lib/quota/providers/minimax-coding-plan.js delete mode 100644 src/packages/web/server/lib/quota/providers/nanogpt.js delete mode 100644 src/packages/web/server/lib/quota/providers/ollama-cloud.js delete mode 100644 src/packages/web/server/lib/quota/providers/openai.js delete mode 100644 src/packages/web/server/lib/quota/providers/openrouter.js delete mode 100644 src/packages/web/server/lib/quota/providers/zai.js delete mode 100644 src/packages/web/server/lib/quota/providers/zhipuai-coding-plan.js delete mode 100644 src/packages/web/server/lib/quota/providers/zhipuai.js delete mode 100644 src/packages/web/server/lib/quota/routes.js delete mode 100644 src/packages/web/server/lib/quota/utils/auth.js delete mode 100644 src/packages/web/server/lib/quota/utils/formatters.js delete mode 100644 src/packages/web/server/lib/quota/utils/index.js delete mode 100644 src/packages/web/server/lib/quota/utils/transformers.js delete mode 100644 src/packages/web/server/lib/scheduled-tasks/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/scheduled-tasks/routes.js delete mode 100644 src/packages/web/server/lib/scheduled-tasks/runtime.js delete mode 100644 src/packages/web/server/lib/scheduled-tasks/runtime.test.js delete mode 100644 src/packages/web/server/lib/security/request-security.js delete mode 100644 src/packages/web/server/lib/session-folders/routes.js delete mode 100644 src/packages/web/server/lib/skills-catalog/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/skills-catalog/cache.js delete mode 100644 src/packages/web/server/lib/skills-catalog/clawdhub/api.js delete mode 100644 src/packages/web/server/lib/skills-catalog/clawdhub/index.js delete mode 100644 src/packages/web/server/lib/skills-catalog/clawdhub/install.js delete mode 100644 src/packages/web/server/lib/skills-catalog/clawdhub/scan.js delete mode 100644 src/packages/web/server/lib/skills-catalog/curated-sources.js delete mode 100644 src/packages/web/server/lib/skills-catalog/git.js delete mode 100644 src/packages/web/server/lib/skills-catalog/index.js delete mode 100644 src/packages/web/server/lib/skills-catalog/install.js delete mode 100644 src/packages/web/server/lib/skills-catalog/scan.js delete mode 100644 src/packages/web/server/lib/skills-catalog/source.js delete mode 100644 src/packages/web/server/lib/terminal/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/terminal/index.js delete mode 100644 src/packages/web/server/lib/terminal/output-replay-buffer.js delete mode 100644 src/packages/web/server/lib/terminal/output-replay-buffer.test.js delete mode 100644 src/packages/web/server/lib/terminal/runtime.js delete mode 100644 src/packages/web/server/lib/terminal/terminal-ws-protocol.js delete mode 100644 src/packages/web/server/lib/terminal/terminal-ws-protocol.test.js delete mode 100644 src/packages/web/server/lib/text/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/text/summarization.js delete mode 100644 src/packages/web/server/lib/tts/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/tts/base-url.js delete mode 100644 src/packages/web/server/lib/tts/capability-runtime.js delete mode 100644 src/packages/web/server/lib/tts/index.js delete mode 100644 src/packages/web/server/lib/tts/routes.js delete mode 100644 src/packages/web/server/lib/tts/service.js delete mode 100644 src/packages/web/server/lib/tts/stt.js delete mode 100644 src/packages/web/server/lib/tunnels/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/tunnels/index.js delete mode 100644 src/packages/web/server/lib/tunnels/managed-config.js delete mode 100644 src/packages/web/server/lib/tunnels/providers/cloudflare.js delete mode 100644 src/packages/web/server/lib/tunnels/registry.js delete mode 100644 src/packages/web/server/lib/tunnels/routes.js delete mode 100644 src/packages/web/server/lib/tunnels/types.js delete mode 100644 src/packages/web/server/lib/ui-auth/DOCUMENTATION.md delete mode 100644 src/packages/web/server/lib/ui-auth/ui-auth.js delete mode 100644 src/packages/web/server/lib/ui-auth/ui-passkeys.js delete mode 100644 src/packages/web/server/opencode-proxy.test.js delete mode 100644 src/packages/web/server/proxy-headers.js delete mode 100644 src/packages/web/server/proxy-headers.test.js delete mode 100644 src/packages/web/server/sse-routes.test.js delete mode 100644 src/packages/web/src/api/files.ts delete mode 100644 src/packages/web/src/api/git.ts delete mode 100644 src/packages/web/src/api/github.ts delete mode 100644 src/packages/web/src/api/index.ts delete mode 100644 src/packages/web/src/api/notifications.ts delete mode 100644 src/packages/web/src/api/permissions.ts delete mode 100644 src/packages/web/src/api/push.ts delete mode 100644 src/packages/web/src/api/settings.ts delete mode 100644 src/packages/web/src/api/terminal.ts delete mode 100644 src/packages/web/src/api/tools.ts delete mode 100644 src/packages/web/src/main.tsx delete mode 100644 src/packages/web/src/pwa.d.ts delete mode 100644 src/packages/web/src/sw.ts delete mode 100644 src/packages/web/tsconfig.json delete mode 100644 src/packages/web/vite.config.ts delete mode 100644 src/patches/ghostty-web+0.3.0.patch delete mode 100644 src/postcss.config.js delete mode 100644 src/scripts/bump-version.mjs delete mode 100644 src/scripts/convert-vscode-theme.cjs delete mode 100644 src/scripts/dev-vscode.mjs delete mode 100644 src/scripts/dev-web-full.mjs delete mode 100644 src/scripts/dev-web-hmr.mjs delete mode 100644 src/scripts/docker-entrypoint.sh delete mode 100644 src/scripts/docs/validate-docs.mjs delete mode 100644 src/scripts/generate-file-type-sprite.mjs delete mode 100755 src/scripts/install.sh delete mode 100644 src/scripts/port-opencode-theme.ts delete mode 100755 src/scripts/test-release-build.sh delete mode 100644 src/tsconfig.json delete mode 100644 src/vite-theme-plugin.ts delete mode 100644 src/vite.config.ts diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4015fe6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM jcabillot/opencode:latest + +ARG OPENCHAMBER_WEB_VERSION=1.9.9 + +ENV NPM_CONFIG_UPDATE_NOTIFIER=false \ + NPM_CONFIG_LOGLEVEL=warn \ + NODE_ENV=production + +USER root + +RUN apt-get update \ + && apt-get install -y --no-install-recommends python3 make g++ \ + && rm -rf /var/lib/apt/lists/* \ + && npm install -g --no-fund --no-audit "@openchamber/web@${OPENCHAMBER_WEB_VERSION}" \ + && openchamber --version \ + && chown -R opencode:opencode /home/opencode + +WORKDIR /home/opencode/ +USER opencode + +EXPOSE 3000 + +ENTRYPOINT ["openchamber"] +CMD ["serve", "--host", "0.0.0.0", "--port", "3000", "--foreground"] diff --git a/Jenkinsfile b/Jenkinsfile index 1e6267b..ca4d077 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -20,7 +20,7 @@ pipeline { stage('Build image') { steps{ - sh 'docker build --force-rm=true --no-cache=true --pull -f src/Dockerfile -t ${dockerImage} src/' + sh 'docker build --force-rm=true --no-cache=true --pull -f Dockerfile -t ${dockerImage} .' } } diff --git a/src/.dockerignore b/src/.dockerignore deleted file mode 100644 index 3ba6be7..0000000 --- a/src/.dockerignore +++ /dev/null @@ -1,26 +0,0 @@ -.git -.gitignore -node_modules -**/node_modules -dist -**/dist -build -**/build -.DS_Store -.idea -.vscode -coverage -tmp -logs -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -.env -.env.* -.opencode -data -workspaces -packages/desktop/src-tauri -packages/desktop/target -packages/intellij diff --git a/src/.github/CODEOWNERS b/src/.github/CODEOWNERS deleted file mode 100644 index af8017b..0000000 --- a/src/.github/CODEOWNERS +++ /dev/null @@ -1,2 +0,0 @@ -# .github/CODEOWNERS -* @btriapitsyn diff --git a/src/.github/ISSUE_TEMPLATE/bug_report.yml b/src/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index 6a62a81..0000000 --- a/src/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Bug report -description: Report something broken -title: "[Bug] " -labels: [bug] -body: - - type: textarea - id: what - attributes: - label: What's wrong? Maybe some steps to reproduce. - description: What happened and what you expected. - placeholder: "Expected … but got …" - validations: - required: true - - - type: dropdown - id: runtime - attributes: - label: Where does it happen? - options: - - Desktop (macOS) - - Desktop Web - - Mobile (Web/PWA) - - VS Code extension - - Not sure - validations: - required: true - - - type: input - id: version - attributes: - label: Version (if known) - placeholder: "e.g. 1.2.3" - - - type: textarea - id: screenshots - attributes: - label: Screenshots / recordings (optional) - description: "Anything visual that helps." - - - type: textarea - id: logs - attributes: - label: Logs (optional) - description: "Paste relevant logs." - render: shell diff --git a/src/.github/ISSUE_TEMPLATE/config.yml b/src/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 3ba13e0..0000000 --- a/src/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1 +0,0 @@ -blank_issues_enabled: false diff --git a/src/.github/ISSUE_TEMPLATE/feature_request.yml b/src/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index d58d57e..0000000 --- a/src/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Feature request -description: Suggest an improvement -title: "[Feature Request] " -labels: [enhancement] -body: - - type: textarea - id: request - attributes: - label: What should we add/change? - description: What you're trying to do + what you'd like to happen. - placeholder: | - I'm trying to … - - It would be great if OpenChamber … - validations: - required: true - - - type: textarea - id: context - attributes: - label: Extra context (optional) - description: Links, screenshots, mockups, constraints, etc. diff --git a/src/.github/workflows/build-macos-arm64-dmg.yml b/src/.github/workflows/build-macos-arm64-dmg.yml deleted file mode 100644 index 71aeaa0..0000000 --- a/src/.github/workflows/build-macos-arm64-dmg.yml +++ /dev/null @@ -1,201 +0,0 @@ -name: Build macOS DMG (arm64) - -on: - workflow_dispatch: - inputs: - macos_version: - description: macOS runner version - required: true - type: choice - options: - - "macos-15" - - "macos-26" - default: "macos-15" - ref: - description: Git ref to build (branch, tag, or sha) - required: false - default: "" - -env: - CARGO_INCREMENTAL: 0 - RUST_BACKTRACE: short - -jobs: - build-macos-dmg-arm64: - name: Build DMG (arm64, ${{ inputs.macos_version }}) - runs-on: ${{ inputs.macos_version }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: ${{ inputs.ref || github.ref }} - - - name: Setup bun - uses: oven-sh/setup-bun@v2 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: "20" - - - name: Install Rust stable - uses: dtolnay/rust-toolchain@stable - with: - targets: aarch64-apple-darwin - - - name: Rust cache - uses: swatinem/rust-cache@v2 - with: - workspaces: packages/desktop/src-tauri - key: aarch64-apple-darwin - - - name: Install dependencies - run: bun install --frozen-lockfile - - - name: Install Apple Certificate - env: - APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} - APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - run: | - KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - KEYCHAIN_PASSWORD=$(openssl rand -base64 32) - - security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" - security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - echo "$APPLE_CERTIFICATE" | base64 --decode > $RUNNER_TEMP/certificate.p12 - security import $RUNNER_TEMP/certificate.p12 \ - -P "$APPLE_CERTIFICATE_PASSWORD" \ - -A -t cert -f pkcs12 \ - -k "$KEYCHAIN_PATH" - - security list-keychain -d user -s "$KEYCHAIN_PATH" - security set-key-partition-list -S apple-tool:,apple:,codesign: \ - -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - - name: Set up notarization credentials - env: - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} - run: | - if [ -z "$APPLE_ID" ] || [ -z "$APPLE_TEAM_ID" ] || [ -z "$APPLE_PASSWORD" ]; then - echo "Error: Missing Apple notarization credentials" - exit 1 - fi - - xcrun notarytool store-credentials "openchamber-notarize" \ - --apple-id "$APPLE_ID" \ - --team-id "$APPLE_TEAM_ID" \ - --password "$APPLE_PASSWORD" - - - name: Build UI package - run: bun run --cwd packages/ui build - - - name: Build Desktop app (arm64) - run: bun run --cwd packages/desktop build && bun run --cwd packages/desktop tauri build --target aarch64-apple-darwin - env: - TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} - TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} - APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - - - name: Prepare DMG artifact - run: | - set -euo pipefail - mkdir -p artifacts - DMG_PATH="packages/desktop/src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/*.dmg" - if ls $DMG_PATH 1> /dev/null 2>&1; then - DMG_FILE=$(ls $DMG_PATH | head -n 1) - DMG_NAME="OpenChamber_${{ inputs.macos_version }}_arm64.dmg" - cp "$DMG_FILE" "artifacts/$DMG_NAME" - else - echo "Error: DMG file not found at $DMG_PATH" - exit 1 - fi - - - name: Upload DMG artifact - uses: actions/upload-artifact@v4 - with: - name: dmg-${{ inputs.macos_version }}-arm64 - path: artifacts/*.dmg - retention-days: 7 - - build-macos-dmg-arm64-electron: - name: Build Electron DMG (arm64, ${{ inputs.macos_version }}) - runs-on: ${{ inputs.macos_version }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: ${{ inputs.ref || github.ref }} - - - name: Setup bun - uses: oven-sh/setup-bun@v2 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: "20" - - - name: Install dependencies - run: bun install --frozen-lockfile - - - name: Install Apple Certificate - env: - APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} - APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - run: | - KEYCHAIN_PATH=$RUNNER_TEMP/electron-signing.keychain-db - KEYCHAIN_PASSWORD=$(openssl rand -base64 32) - - security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" - security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - echo "$APPLE_CERTIFICATE" | base64 --decode > $RUNNER_TEMP/certificate.p12 - security import $RUNNER_TEMP/certificate.p12 \ - -P "$APPLE_CERTIFICATE_PASSWORD" \ - -A -t cert -f pkcs12 \ - -k "$KEYCHAIN_PATH" - - security list-keychain -d user -s "$KEYCHAIN_PATH" - security set-key-partition-list -S apple-tool:,apple:,codesign: \ - -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - - name: Build Electron app (arm64) - working-directory: packages/electron - env: - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_PASSWORD }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - ELECTRON_BUILDER_ARCH: arm64 - run: | - bun run build:web-assets - bun run bundle:main - bun run rebuild:native - ./node_modules/.bin/electron-builder --mac --arm64 --publish=never - - - name: Prepare DMG artifact - run: | - set -euo pipefail - mkdir -p artifacts - DMG_PATH="packages/electron/dist/*.dmg" - if ls $DMG_PATH 1> /dev/null 2>&1; then - DMG_FILE=$(ls $DMG_PATH | head -n 1) - DMG_NAME="OpenChamber_Electron_${{ inputs.macos_version }}_arm64.dmg" - cp "$DMG_FILE" "artifacts/$DMG_NAME" - else - echo "Error: DMG file not found at $DMG_PATH" - exit 1 - fi - - - name: Upload DMG artifact - uses: actions/upload-artifact@v4 - with: - name: dmg-electron-${{ inputs.macos_version }}-arm64 - path: artifacts/*.dmg - retention-days: 7 diff --git a/src/.github/workflows/docs-source.yml b/src/.github/workflows/docs-source.yml deleted file mode 100644 index 05feca6..0000000 --- a/src/.github/workflows/docs-source.yml +++ /dev/null @@ -1,86 +0,0 @@ -name: Docs Source - -on: - push: - branches: [main] - paths: - - "packages/docs/**" - - "scripts/docs/**" - - "package.json" - release: - types: [published] - workflow_dispatch: - inputs: - release_tag: - description: "Optional existing tag to upload docs source archive" - required: false - type: string - -permissions: - contents: write - -jobs: - validate-and-package: - runs-on: ubuntu-latest - outputs: - archive_name: ${{ steps.archive.outputs.archive_name }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup bun - uses: oven-sh/setup-bun@v2 - - - name: Validate docs source - run: bun run docs:validate - - - name: Build docs source archive - id: archive - run: | - mkdir -p artifacts - ARCHIVE_NAME="openchamber-docs-source-${GITHUB_SHA::8}.tar.gz" - tar -czf "artifacts/${ARCHIVE_NAME}" -C packages/docs . - echo "archive_name=${ARCHIVE_NAME}" >> "$GITHUB_OUTPUT" - - - name: Upload workflow artifact - uses: actions/upload-artifact@v4 - with: - name: docs-source - path: artifacts/${{ steps.archive.outputs.archive_name }} - retention-days: 14 - - - name: Upload archive to release tag - if: ${{ github.event_name == 'release' || github.event.inputs.release_tag != '' }} - uses: softprops/action-gh-release@v2 - with: - tag_name: ${{ github.event_name == 'release' && github.event.release.tag_name || github.event.inputs.release_tag }} - files: artifacts/${{ steps.archive.outputs.archive_name }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Trigger openchamber-website docs sync (optional) - if: ${{ github.event_name == 'release' || github.event_name == 'workflow_dispatch' }} - env: - WEBSITE_REPO: openchamber/openchamber-website - WEBSITE_TOKEN: ${{ secrets.OPENCHAMBER_WEBSITE_REPO_TOKEN }} - SOURCE_REF: ${{ github.event_name == 'release' && github.event.release.tag_name || github.ref_name }} - run: | - if [ -z "$WEBSITE_TOKEN" ]; then - echo "OPENCHAMBER_WEBSITE_REPO_TOKEN not set; skip dispatch." - exit 0 - fi - - curl -sS -X POST \ - -H "Authorization: Bearer $WEBSITE_TOKEN" \ - -H "Accept: application/vnd.github+json" \ - https://api.github.com/repos/$WEBSITE_REPO/dispatches \ - -d @- <> $GITHUB_OUTPUT - elif [[ "${{ github.ref }}" == refs/tags/* ]]; then - echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT - else - echo "version=0.0.0-dev" >> $GITHUB_OUTPUT - fi - - - name: Extract changelog for release - env: - VERSION: ${{ steps.get_version.outputs.version }} - run: | - node - <<'NODE' - const fs = require('fs'); - const version = process.env.VERSION; - const changelogPath = 'CHANGELOG.md'; - if (!fs.existsSync(changelogPath)) { - throw new Error('CHANGELOG.md not found; add it before releasing.'); - } - const changelog = fs.readFileSync(changelogPath, 'utf8'); - const sections = changelog.split(/^## /m); - const section = sections.find(s => s.startsWith('[' + version + ']')); - if (!section) { - throw new Error('Changelog section [' + version + '] not found. Add a section like "## [' + version + '] - YYYY-MM-DD".'); - } - const content = ('## ' + section).trim(); - fs.mkdirSync('artifacts', { recursive: true }); - fs.writeFileSync('artifacts/release-notes.md', content + '\n'); - NODE - - - name: Create GitHub Release - id: create_release - uses: softprops/action-gh-release@v2 - with: - tag_name: v${{ steps.get_version.outputs.version }} - draft: true - generate_release_notes: false - body_path: artifacts/release-notes.md - name: OpenChamber v${{ steps.get_version.outputs.version }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - build-desktop-macos: - needs: create-release - runs-on: macos-26 - strategy: - fail-fast: false - matrix: - target: [aarch64-apple-darwin, x86_64-apple-darwin] - include: - - target: aarch64-apple-darwin - arch: aarch64 - platform: darwin-aarch64 - - target: x86_64-apple-darwin - arch: x86_64 - platform: darwin-x86_64 - outputs: - version: ${{ needs.create-release.outputs.version }} - steps: - - uses: actions/checkout@v4 - - - name: Setup bun - uses: oven-sh/setup-bun@v2 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Install Rust stable - uses: dtolnay/rust-toolchain@stable - with: - targets: ${{ matrix.target }} - - - name: Rust cache - uses: swatinem/rust-cache@v2 - with: - workspaces: packages/desktop/src-tauri - key: ${{ matrix.target }} - - - name: Install dependencies - run: bun install --frozen-lockfile - - - name: Install Apple Certificate - env: - APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} - APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - run: | - # Create temporary keychain - KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - KEYCHAIN_PASSWORD=$(openssl rand -base64 32) - - security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" - security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - # Import certificate - echo "$APPLE_CERTIFICATE" | base64 --decode > $RUNNER_TEMP/certificate.p12 - security import $RUNNER_TEMP/certificate.p12 \ - -P "$APPLE_CERTIFICATE_PASSWORD" \ - -A -t cert -f pkcs12 \ - -k "$KEYCHAIN_PATH" - - security list-keychain -d user -s "$KEYCHAIN_PATH" - security set-key-partition-list -S apple-tool:,apple:,codesign: \ - -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - - name: Set up notarization credentials - env: - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} - run: | - # Validate secrets are set - if [ -z "$APPLE_ID" ] || [ -z "$APPLE_TEAM_ID" ] || [ -z "$APPLE_PASSWORD" ]; then - echo "Error: Missing Apple notarization credentials" - exit 1 - fi - - xcrun notarytool store-credentials "openchamber-notarize" \ - --apple-id "$APPLE_ID" \ - --team-id "$APPLE_TEAM_ID" \ - --password "$APPLE_PASSWORD" - - - name: Build UI package - run: bun run --cwd packages/ui build - - - name: Build Desktop app - # Note: We use inline commands instead of desktop:build to pass architecture-specific --target flag - # This enables cross-compilation for both arm64 and x86_64 from the same runner - run: | - export TAURI_ENV_TARGET_TRIPLE=${{ matrix.target }} - bun run --cwd packages/desktop build - bun run --cwd packages/desktop tauri build --target ${{ matrix.target }} - env: - TAURI_ENV_TARGET_TRIPLE: ${{ matrix.target }} - TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} - TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} - APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - - - name: Verify binary architectures - run: | - set -euo pipefail - - BUNDLE_DIR="packages/desktop/src-tauri/target/${{ matrix.target }}/release/bundle/macos" - - if [ ! -d "$BUNDLE_DIR" ]; then - echo "❌ Error: bundle directory not found: $BUNDLE_DIR" - exit 1 - fi - - APP_PATH=$(find "$BUNDLE_DIR" -maxdepth 2 -name "*.app" -print -quit) - if [ -z "$APP_PATH" ]; then - echo "❌ Error: .app bundle not found under $BUNDLE_DIR" - exit 1 - fi - - echo "🔍 Verifying binary architectures in $APP_PATH" - - # Extract raw architecture names (macOS file command reports ARM as "arm64") - MAIN_ARCH_RAW=$(file "$APP_PATH/Contents/MacOS/openchamber-desktop" | grep -oE 'arm64|x86_64|aarch64' | head -1) - SIDEARCH_ARCH_RAW=$(file "$APP_PATH/Contents/MacOS/openchamber-server" | grep -oE 'arm64|x86_64|aarch64' | head -1) - - # Normalize architecture names (arm64 -> aarch64 for consistency with Rust/Tauri) - normalize_arch() { - case "$1" in - arm64) echo "aarch64" ;; - aarch64|x86_64) echo "$1" ;; - *) echo "unknown" ;; - esac - } - - MAIN_ARCH=$(normalize_arch "$MAIN_ARCH_RAW") - SIDEARCH_ARCH=$(normalize_arch "$SIDEARCH_ARCH_RAW") - EXPECTED_ARCH=$(echo "${{ matrix.target }}" | grep -oE 'aarch64|x86_64' | head -1) - - echo " Main: $MAIN_ARCH_RAW → $MAIN_ARCH" - echo " Sidecar: $SIDEARCH_ARCH_RAW → $SIDEARCH_ARCH" - echo " Expected: $EXPECTED_ARCH" - - if [ "$MAIN_ARCH" != "$EXPECTED_ARCH" ]; then - echo "❌ ERROR: Main binary architecture mismatch!" - echo " Expected: $EXPECTED_ARCH" - echo " Got: $MAIN_ARCH (raw: $MAIN_ARCH_RAW)" - exit 1 - fi - - if [ "$SIDEARCH_ARCH" != "$EXPECTED_ARCH" ]; then - echo "❌ ERROR: Sidecar binary architecture mismatch!" - echo " Expected: $EXPECTED_ARCH" - echo " Got: $SIDEARCH_ARCH (raw: $SIDEARCH_ARCH_RAW)" - exit 1 - fi - - echo "✅ Architecture verification passed: both binaries match $EXPECTED_ARCH" - - - name: Verify macOS entitlements - run: | - set -euo pipefail - - BUNDLE_DIR="packages/desktop/src-tauri/target/${{ matrix.target }}/release/bundle/macos" - - if [ ! -d "$BUNDLE_DIR" ]; then - echo "Error: bundle directory not found: $BUNDLE_DIR" - exit 1 - fi - - APP_PATH=$(find "$BUNDLE_DIR" -maxdepth 2 -name "*.app" -print -quit) - if [ -z "$APP_PATH" ]; then - echo "Error: .app bundle not found under $BUNDLE_DIR" - echo "Contents:"; ls -la "$BUNDLE_DIR" - exit 1 - fi - - echo "Verifying app bundle: $APP_PATH" - codesign -vv "$APP_PATH" - - ENTITLEMENTS=$(codesign -d --entitlements :- "$APP_PATH" 2>&1 || true) - echo "$ENTITLEMENTS" - - if echo "$ENTITLEMENTS" | grep -q "com.apple.security.app-sandbox"; then - echo "Error: app sandbox entitlement is present" - exit 1 - fi - - for key in \ - com.apple.security.cs.allow-jit \ - com.apple.security.cs.allow-unsigned-executable-memory \ - com.apple.security.cs.disable-executable-page-protection \ - com.apple.security.cs.disable-library-validation - do - if ! echo "$ENTITLEMENTS" | grep -q "$key"; then - echo "Error: required entitlement missing: $key" - exit 1 - fi - done - - - name: Prepare release artifacts - run: | - mkdir -p artifacts - VERSION="${{ needs.create-release.outputs.version }}" - - # Copy DMG (Tauri names it with the target triple in the path) - DMG_PATH="packages/desktop/src-tauri/target/${{ matrix.target }}/release/bundle/dmg/*.dmg" - if ls $DMG_PATH 1> /dev/null 2>&1; then - DMG_FILE=$(ls $DMG_PATH | head -n 1) - DMG_NAME="OpenChamber_${VERSION}_${{ matrix.platform }}.dmg" - cp "$DMG_FILE" "artifacts/$DMG_NAME" - else - echo "Error: DMG file not found at $DMG_PATH" - exit 1 - fi - - # Copy tar.gz and signature for updater - TAR_PATH="packages/desktop/src-tauri/target/${{ matrix.target }}/release/bundle/macos/*.tar.gz" - SIG_PATH="packages/desktop/src-tauri/target/${{ matrix.target }}/release/bundle/macos/*.tar.gz.sig" - - if ls $TAR_PATH 1> /dev/null 2>&1; then - TAR_FILE=$(ls $TAR_PATH | head -n 1) - TAR_BASE=$(basename "$TAR_FILE") - TAR_NAME="${TAR_BASE%.tar.gz}-${{ matrix.platform }}.tar.gz" - cp "$TAR_FILE" "artifacts/$TAR_NAME" - else - echo "Error: tar.gz file not found at $TAR_PATH" - exit 1 - fi - - if ls $SIG_PATH 1> /dev/null 2>&1; then - SIG_FILE=$(ls $SIG_PATH | head -n 1) - SIG_BASE=$(basename "$SIG_FILE") - SIG_NAME="${SIG_BASE%.tar.gz.sig}-${{ matrix.platform }}.tar.gz.sig" - cp "$SIG_FILE" "artifacts/$SIG_NAME" - else - echo "Error: signature file not found at $SIG_PATH" - exit 1 - fi - - echo "Successfully prepared artifacts:" - ls -lh artifacts/ - - - name: Generate update manifest - run: | - VERSION="${{ needs.create-release.outputs.version }}" - - # Find the signature file for this platform - SIG_FILE=$(find artifacts -name "*-${{ matrix.platform }}.tar.gz.sig" | head -1) - if [ -f "$SIG_FILE" ]; then - SIGNATURE=$(cat "$SIG_FILE") - else - SIGNATURE="" - fi - - # Find the tar.gz file name for this platform - TAR_FILE=$(find artifacts -name "*-${{ matrix.platform }}.tar.gz" ! -name "*.sig" | head -1) - TAR_NAME=$(basename "$TAR_FILE" 2>/dev/null || echo "OpenChamber-${{ matrix.platform }}.app.tar.gz") - - cat > artifacts/latest-${{ matrix.platform }}.json << EOF - { - "version": "${VERSION}", - "notes": "See release notes at https://github.com/${{ github.repository }}/releases/tag/v${VERSION}", - "pub_date": "$(date -u +%Y-%m-%dT%H:%M:%SZ)", - "platforms": { - "${{ matrix.platform }}": { - "signature": "${SIGNATURE}", - "url": "https://github.com/${{ github.repository }}/releases/download/v${VERSION}/${TAR_NAME}" - } - } - } - EOF - - echo "Generated latest-${{ matrix.platform }}.json:" - cat artifacts/latest-${{ matrix.platform }}.json - - - name: Upload release assets - uses: softprops/action-gh-release@v2 - with: - tag_name: v${{ needs.create-release.outputs.version }} - files: | - artifacts/*.dmg - artifacts/*.tar.gz - artifacts/*.tar.gz.sig - artifacts/latest-${{ matrix.platform }}.json - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Upload manifest as artifact - uses: actions/upload-artifact@v4 - with: - name: manifest-${{ matrix.platform }} - path: artifacts/latest-${{ matrix.platform }}.json - retention-days: 1 - - publish-npm: - needs: create-release - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup bun - uses: oven-sh/setup-bun@v2 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - registry-url: 'https://registry.npmjs.org' - - - name: Install dependencies - run: bun install --frozen-lockfile - - - name: Build packages - run: bun run build - - - name: Create npm tarball - working-directory: packages/web - run: npm pack - - - name: Upload npm tarball to release - uses: softprops/action-gh-release@v2 - with: - tag_name: v${{ needs.create-release.outputs.version }} - files: packages/web/*.tgz - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Publish to npm - if: ${{ github.event.inputs.dry_run != 'true' }} - working-directory: packages/web - run: npm publish --access public - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - - combine-manifests: - needs: [create-release, build-desktop-macos] - runs-on: ubuntu-latest - steps: - - name: Download aarch64 manifest - uses: actions/download-artifact@v4 - with: - name: manifest-darwin-aarch64 - path: artifacts - - - name: Download x86_64 manifest - uses: actions/download-artifact@v4 - with: - name: manifest-darwin-x86_64 - path: artifacts - - - name: Combine manifests - run: | - VERSION="${{ needs.create-release.outputs.version }}" - PUB_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" - REPO="${{ github.repository }}" - - # Validate that both manifest files exist and are valid JSON - if [ ! -f artifacts/latest-darwin-aarch64.json ]; then - echo "Error: aarch64 manifest not found" - exit 1 - fi - - if [ ! -f artifacts/latest-darwin-x86_64.json ]; then - echo "Error: x86_64 manifest not found" - exit 1 - fi - - # Validate JSON structure - if ! jq empty artifacts/latest-darwin-aarch64.json 2>/dev/null; then - echo "Error: aarch64 manifest is not valid JSON" - exit 1 - fi - - if ! jq empty artifacts/latest-darwin-x86_64.json 2>/dev/null; then - echo "Error: x86_64 manifest is not valid JSON" - exit 1 - fi - - # Validate platform data exists in manifests - if ! jq -e '.platforms["darwin-aarch64"]' artifacts/latest-darwin-aarch64.json > /dev/null; then - echo "Error: darwin-aarch64 platform data not found in manifest" - exit 1 - fi - - if ! jq -e '.platforms["darwin-x86_64"]' artifacts/latest-darwin-x86_64.json > /dev/null; then - echo "Error: darwin-x86_64 platform data not found in manifest" - exit 1 - fi - - # Use jq to properly combine the manifests - jq -n \ - --arg version "$VERSION" \ - --arg notes "See release notes at https://github.com/${REPO}/releases/tag/v${VERSION}" \ - --arg pub_date "$PUB_DATE" \ - --slurpfile aarch64 artifacts/latest-darwin-aarch64.json \ - --slurpfile x86_64 artifacts/latest-darwin-x86_64.json \ - '{ - version: $version, - notes: $notes, - pub_date: $pub_date, - platforms: { - "darwin-aarch64": $aarch64[0].platforms["darwin-aarch64"], - "darwin-x86_64": $x86_64[0].platforms["darwin-x86_64"] - } - }' > artifacts/latest.json - - echo "Generated combined latest.json:" - cat artifacts/latest.json - - - name: Upload combined manifest - uses: softprops/action-gh-release@v2 - with: - tag_name: v${{ needs.create-release.outputs.version }} - files: artifacts/latest.json - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - build-desktop-electron-macos: - needs: create-release - runs-on: macos-26 - strategy: - fail-fast: false - matrix: - include: - - target: aarch64-apple-darwin - arch: arm64 - platform: darwin-aarch64 - - target: x86_64-apple-darwin - arch: x64 - platform: darwin-x86_64 - steps: - - uses: actions/checkout@v4 - - - name: Setup bun - uses: oven-sh/setup-bun@v2 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Install dependencies - run: bun install --frozen-lockfile - - - name: Install Apple Certificate - env: - APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} - APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - run: | - KEYCHAIN_PATH=$RUNNER_TEMP/electron-signing.keychain-db - KEYCHAIN_PASSWORD=$(openssl rand -base64 32) - - security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" - security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - echo "$APPLE_CERTIFICATE" | base64 --decode > $RUNNER_TEMP/certificate.p12 - security import $RUNNER_TEMP/certificate.p12 \ - -P "$APPLE_CERTIFICATE_PASSWORD" \ - -A -t cert -f pkcs12 \ - -k "$KEYCHAIN_PATH" - - security list-keychain -d user -s "$KEYCHAIN_PATH" - security set-key-partition-list -S apple-tool:,apple:,codesign: \ - -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - - name: Build Electron app - working-directory: packages/electron - env: - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_PASSWORD }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - # rebuild-native.mjs reads this to target the right arch when - # cross-building (runner is arm64; x64 matrix needs the hint). - ELECTRON_BUILDER_ARCH: ${{ matrix.arch }} - run: | - bun run build:web-assets - bun run bundle:main - # npmRebuild=false in package.json, so electron-builder won't - # recompile native deps on its own — we must rebuild against the - # target Electron ABI before packaging, otherwise better-sqlite3/ - # node-pty/bun-pty crash on require inside the packaged app. - bun run rebuild:native - ./node_modules/.bin/electron-builder --mac --${{ matrix.arch }} --publish=never - - - name: Verify signature + entitlements + notarization - run: | - set -euo pipefail - - APP_DIR="packages/electron/dist/mac" - [ -d "packages/electron/dist/mac-arm64" ] && APP_DIR="packages/electron/dist/mac-arm64" - - APP_PATH=$(find "$APP_DIR" -maxdepth 2 -name "*.app" -print -quit) - if [ -z "$APP_PATH" ]; then - echo "Error: .app not found under packages/electron/dist/mac*" - ls -la packages/electron/dist/ - exit 1 - fi - - echo "Verifying $APP_PATH" - codesign -vv --deep --strict "$APP_PATH" - - # Require hardened runtime - CS_INFO=$(codesign -dv --verbose=4 "$APP_PATH" 2>&1) - echo "$CS_INFO" - if ! echo "$CS_INFO" | grep -q "flags=.*runtime"; then - echo "Error: hardened runtime flag missing" - exit 1 - fi - - # Require notary ticket stapled - xcrun stapler validate "$APP_PATH" - - ENTITLEMENTS=$(codesign -d --entitlements :- "$APP_PATH" 2>&1 || true) - if echo "$ENTITLEMENTS" | grep -q "com.apple.security.app-sandbox"; then - echo "Error: app sandbox entitlement is present" - exit 1 - fi - for key in \ - com.apple.security.cs.allow-jit \ - com.apple.security.cs.allow-unsigned-executable-memory \ - com.apple.security.cs.disable-library-validation - do - if ! echo "$ENTITLEMENTS" | grep -q "$key"; then - echo "Error: required entitlement missing: $key" - exit 1 - fi - done - - - name: Upload DMG / ZIP / blockmaps to release - uses: softprops/action-gh-release@v2 - with: - tag_name: v${{ needs.create-release.outputs.version }} - files: | - packages/electron/dist/*.dmg - packages/electron/dist/*.zip - packages/electron/dist/*.blockmap - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Upload per-arch latest-mac.yml for merge - uses: actions/upload-artifact@v4 - with: - name: latest-yml-${{ matrix.target }} - path: packages/electron/dist/latest-mac.yml - retention-days: 1 - - combine-electron-manifests: - needs: [create-release, build-desktop-electron-macos] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Download per-arch latest-mac.yml - uses: actions/download-artifact@v4 - with: - pattern: latest-yml-*-apple-darwin - path: artifacts - - - name: Finalize combined latest-mac.yml - env: - LATEST_YML_DIR: ${{ github.workspace }}/artifacts - GH_REPO: ${{ github.repository }} - OPENCHAMBER_VERSION: ${{ needs.create-release.outputs.version }} - run: node packages/electron/scripts/finalize-latest-yml.mjs - - - name: Upload combined latest-mac.yml to release - uses: softprops/action-gh-release@v2 - with: - tag_name: v${{ needs.create-release.outputs.version }} - files: ${{ runner.temp }}/latest-mac.yml - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - finalize-release: - needs: [create-release, build-desktop-macos, build-desktop-electron-macos, publish-npm, combine-manifests, combine-electron-manifests] - runs-on: ubuntu-latest - env: - DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} - DISCORD_UPDATE_ROLE_ID: ${{ secrets.DISCORD_UPDATE_ROLE_ID }} - steps: - - name: Publish release - uses: softprops/action-gh-release@v2 - with: - tag_name: v${{ needs.create-release.outputs.version }} - draft: false - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Send release to Discord - if: ${{ env.DISCORD_WEBHOOK_URL != '' }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - VERSION: ${{ needs.create-release.outputs.version }} - REPOSITORY: ${{ github.repository }} - UPDATE_ROLE_ID: ${{ env.DISCORD_UPDATE_ROLE_ID }} - run: | - node - <<'NODE' - (async () => { - const tag = `v${process.env.VERSION}`; - const repo = process.env.REPOSITORY; - const rawRoleId = (process.env.UPDATE_ROLE_ID || '').trim(); - const updateRoleId = /^\d+$/.test(rawRoleId) ? rawRoleId : ''; - - const releaseRes = await fetch(`https://api.github.com/repos/${repo}/releases/tags/${tag}`, { - headers: { - Authorization: `Bearer ${process.env.GITHUB_TOKEN}`, - Accept: 'application/vnd.github+json', - }, - }); - - if (!releaseRes.ok) { - const body = await releaseRes.text(); - throw new Error(`Failed to fetch release ${tag}: ${releaseRes.status} ${body}`); - } - - const release = await releaseRes.json(); - const description = (release.body || `OpenChamber ${tag} released.`).slice(0, 4096); - const mention = updateRoleId ? `<@&${updateRoleId}>` : ''; - - const payload = { - username: 'OpenChamber Releases', - ...(mention ? { content: mention } : {}), - ...(updateRoleId - ? { - allowed_mentions: { - roles: [updateRoleId], - }, - } - : {}), - embeds: [ - { - title: release.name || `OpenChamber ${tag}`, - url: release.html_url, - description, - color: 2105893, - footer: { text: 'OpenChamber Changelog' }, - }, - ], - }; - - const discordRes = await fetch(process.env.DISCORD_WEBHOOK_URL, { - method: 'POST', - headers: { 'content-type': 'application/json' }, - body: JSON.stringify(payload), - }); - - if (!discordRes.ok) { - const body = await discordRes.text(); - throw new Error(`Failed to send Discord release: ${discordRes.status} ${body}`); - } - })().catch((error) => { - console.error(error); - process.exit(1); - }); - NODE - - - name: Trigger openchamber-website site refresh (optional) - env: - WEBSITE_REPO: openchamber/openchamber-website - WEBSITE_TOKEN: ${{ secrets.OPENCHAMBER_WEBSITE_REPO_TOKEN }} - VERSION: ${{ needs.create-release.outputs.version }} - run: | - if [ -z "$WEBSITE_TOKEN" ]; then - echo "OPENCHAMBER_WEBSITE_REPO_TOKEN not set; skip site refresh dispatch." - exit 0 - fi - - curl --fail-with-body -sS -X POST \ - -H "Authorization: Bearer $WEBSITE_TOKEN" \ - -H "Accept: application/vnd.github+json" \ - https://api.github.com/repos/$WEBSITE_REPO/dispatches \ - -d @- </dev/null || git rev-list --max-parents=0 HEAD); echo "Base: $BASE"; echo "Commits since base: $(git rev-list --count "$BASE"..HEAD)"; echo "Diff stats: $(git diff --shortstat "$BASE"..HEAD)"; echo; echo "=== Top 30 commits ==="; git log --oneline -30 "$BASE"..HEAD; echo; echo "=== Changed files ==="; git diff --stat "$BASE"..HEAD` - -Additional hints (optional, use only if needed): -- If there are breaking changes or user-visible behavior changes, call them out first. -- If changes are mostly internal refactors, summarize them as reliability/performance improvements. - -Now: -1) Propose the new `[Unreleased]` bullet list for the main @CHANGELOG.md. -2) Propose the VS Code-specific `[Unreleased]` list for @packages/vscode/CHANGELOG.md. -3) Edit both files to update their respective `[Unreleased]` sections. diff --git a/src/.opencode/package-lock.json b/src/.opencode/package-lock.json deleted file mode 100644 index fc32819..0000000 --- a/src/.opencode/package-lock.json +++ /dev/null @@ -1,376 +0,0 @@ -{ - "name": ".opencode", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "dependencies": { - "@opencode-ai/plugin": "1.4.10" - } - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", - "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", - "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", - "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", - "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", - "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", - "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@opencode-ai/plugin": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/@opencode-ai/plugin/-/plugin-1.4.10.tgz", - "integrity": "sha512-35Za2LT2oNWnBoonmPjN1Z9PB4+ir2a6GbZ3nIZQQL/96mqzTRkT1FqUkQc3bdMmfT1R1rqOd5aMzkIXMqC7dA==", - "license": "MIT", - "dependencies": { - "@opencode-ai/sdk": "1.4.10", - "effect": "4.0.0-beta.48", - "zod": "4.1.8" - }, - "peerDependencies": { - "@opentui/core": ">=0.1.100", - "@opentui/solid": ">=0.1.100" - }, - "peerDependenciesMeta": { - "@opentui/core": { - "optional": true - }, - "@opentui/solid": { - "optional": true - } - } - }, - "node_modules/@opencode-ai/sdk": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/@opencode-ai/sdk/-/sdk-1.4.10.tgz", - "integrity": "sha512-Yaddcs/COp0hwiCxgobSZyDUN0nHgkEFL4bG0BQxwd52SGAysOr6A6L0ihfkuhVx0kbi9eXWgZk4ydNOrnur5w==", - "license": "MIT", - "dependencies": { - "cross-spawn": "7.0.6" - } - }, - "node_modules/@standard-schema/spec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/effect": { - "version": "4.0.0-beta.48", - "resolved": "https://registry.npmjs.org/effect/-/effect-4.0.0-beta.48.tgz", - "integrity": "sha512-MMAM/ZabuNdNmgXiin+BAanQXK7qM8mlt7nfXDoJ/Gn9V8i89JlCq+2N0AiWmqFLXjGLA0u3FjiOjSOYQk5uMw==", - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.1.0", - "fast-check": "^4.6.0", - "find-my-way-ts": "^0.1.6", - "ini": "^6.0.0", - "kubernetes-types": "^1.30.0", - "msgpackr": "^1.11.9", - "multipasta": "^0.2.7", - "toml": "^4.1.1", - "uuid": "^13.0.0", - "yaml": "^2.8.3" - } - }, - "node_modules/fast-check": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-4.6.0.tgz", - "integrity": "sha512-h7H6Dm0Fy+H4ciQYFxFjXnXkzR2kr9Fb22c0UBpHnm59K2zpr2t13aPTHlltFiNT6zuxp6HMPAVVvgur4BLdpA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT", - "dependencies": { - "pure-rand": "^8.0.0" - }, - "engines": { - "node": ">=12.17.0" - } - }, - "node_modules/find-my-way-ts": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/find-my-way-ts/-/find-my-way-ts-0.1.6.tgz", - "integrity": "sha512-a85L9ZoXtNAey3Y6Z+eBWW658kO/MwR7zIafkIUPUMf3isZG0NCs2pjW2wtjxAKuJPxMAsHUIP4ZPGv0o5gyTA==", - "license": "MIT" - }, - "node_modules/ini": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", - "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/kubernetes-types": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/kubernetes-types/-/kubernetes-types-1.30.0.tgz", - "integrity": "sha512-Dew1okvhM/SQcIa2rcgujNndZwU8VnSapDgdxlYoB84ZlpAD43U6KLAFqYo17ykSFGHNPrg0qry0bP+GJd9v7Q==", - "license": "Apache-2.0" - }, - "node_modules/msgpackr": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.9.tgz", - "integrity": "sha512-FkoAAyyA6HM8wL882EcEyFZ9s7hVADSwG9xrVx3dxxNQAtgADTrJoEWivID82Iv1zWDsv/OtbrrcZAzGzOMdNw==", - "license": "MIT", - "optionalDependencies": { - "msgpackr-extract": "^3.0.2" - } - }, - "node_modules/msgpackr-extract": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", - "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "node-gyp-build-optional-packages": "5.2.2" - }, - "bin": { - "download-msgpackr-prebuilds": "bin/download-prebuilds.js" - }, - "optionalDependencies": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" - } - }, - "node_modules/multipasta": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/multipasta/-/multipasta-0.2.7.tgz", - "integrity": "sha512-KPA58d68KgGil15oDqXjkUBEBYc00XvbPj5/X+dyzeo/lWm9Nc25pQRlf1D+gv4OpK7NM0J1odrbu9JNNGvynA==", - "license": "MIT" - }, - "node_modules/node-gyp-build-optional-packages": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", - "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.1" - }, - "bin": { - "node-gyp-build-optional-packages": "bin.js", - "node-gyp-build-optional-packages-optional": "optional.js", - "node-gyp-build-optional-packages-test": "build-test.js" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pure-rand": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-8.4.0.tgz", - "integrity": "sha512-IoM8YF/jY0hiugFo/wOWqfmarlE6J0wc6fDK1PhftMk7MGhVZl88sZimmqBBFomLOCSmcCCpsfj7wXASCpvK9A==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/toml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/toml/-/toml-4.1.1.tgz", - "integrity": "sha512-EBJnVBr3dTXdA89WVFoAIPUqkBjxPMwRqsfuo1r240tKFHXv3zgca4+NJib/h6TyvGF7vOawz0jGuryJCdNHrw==", - "license": "MIT", - "engines": { - "node": ">=20" - } - }, - "node_modules/uuid": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", - "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist-node/bin/uuid" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/yaml": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", - "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - }, - "funding": { - "url": "https://github.com/sponsors/eemeli" - } - }, - "node_modules/zod": { - "version": "4.1.8", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - } - } -} diff --git a/src/.opencode/skills/clack-cli-patterns/SKILL.md b/src/.opencode/skills/clack-cli-patterns/SKILL.md deleted file mode 100644 index 23e9468..0000000 --- a/src/.opencode/skills/clack-cli-patterns/SKILL.md +++ /dev/null @@ -1,216 +0,0 @@ ---- -name: clack-cli-patterns -description: Use when creating or modifying terminal CLI commands, prompts, or output formatting in OpenChamber. Enforces Clack UX standards with strict parity and safety across TTY/non-TTY, --quiet, and --json modes. -license: MIT -compatibility: opencode ---- - -## Overview - -OpenChamber terminal CLI uses `@clack/prompts` for interactive UX, but command policy and validation must be mode-agnostic. - -**Core principle:** policy-first, UX-second. Clack is presentation, not enforcement. - -## Scope - -Use this skill for terminal CLI work only (for example `packages/web/bin/*`). - -Do not use this skill for web UI or VS Code webview styling work. - -## Mandatory Rules - -1. **Validation first** - - Safety and correctness checks must run in all modes. - - Prompts may help collect input, but cannot be the only guard. - -2. **Mode parity is required** - - Behavior must be equivalent in: - - Interactive TTY - - Non-interactive shells - - `--quiet` - - `--json` - - Fully pre-specified flags - - Invalid operations must fail deterministically with non-zero exit code. - -3. **Prompt guard contract** - - Only prompt when all are true: - - stdout is TTY - - not `--quiet` - - not `--json` - - not automated/non-interactive context - -4. **Output contract** - - `--json`: machine-readable output only. - - `--quiet`: suppress non-essential output only. - - Neither mode weakens policy enforcement. - -5. **Cancellation contract** - - Handle prompt cancellation with `isCancel` + `cancel(...)`. - - Handle SIGINT cleanly and use consistent exit semantics. - -## Clack Primitive Standard - -- **Flow framing:** `intro`, `outro`, `cancel` -- **Status lines:** `log.info`, `log.success`, `log.warn`, `log.error`, `log.step` -- **Guidance blocks:** - - default: `note` - - high-severity warnings only: `box` -- **Prompts:** `select`, `confirm`, `text`, `password` -- **Long-running feedback:** - - unknown duration: `spinner` - - known duration: `progress` - - multi-stage: `tasks` - -## Preferred Pattern - -Centralize Clack imports and formatting helpers in one adapter module (for example `cli-output.js`) so command logic stays focused on behavior and policy. - -### Thin framework (recommended) - -Use a small shared helper surface rather than command-specific formatting logic. - -- `isJsonMode(options)` -- `isQuietMode(options)` -- `shouldRenderHumanOutput(options)` -- `canPrompt(options)` -- `createSpinner(options)` -- `createProgress(options, config)` -- `printJson(payload)` - -Keep this layer minimal. Do not hide core validation or command semantics inside output helpers. - -## Output Contracts by Mode - -### `--quiet` contract - -`--quiet` should still return essential result data. - -- Read/list commands: emit concise machine-friendly lines (not framed Clack blocks). -- Action commands: emit one minimal success line and concise errors. -- Do not suppress required outcomes entirely. - -Quiet output should still be complete enough for scripts and quick human scanning. - -- Status-like commands should list all active items, not only `running`/`ok`. -- Prefer compact stable key tokens in quiet lines (for example `port 3000 pass:yes`). - -### `--json` contract (strict) - -- Output must be JSON only (no extra text before/after payload). -- Warnings/info should be represented in JSON fields (for example `status`, `messages`). -- Preserve non-zero exit codes for failures. - -## Human UX Consistency - -### Framing completeness - -- If human flow uses `intro`, close with `outro` (or `outro('')` when you want structure without text). -- Avoid orphan frame/spinner artifacts (prefer `spinner.clear()` when a trailing spinner line is not wanted). -- If a structured summary section immediately follows a spinner, prefer `spinner.clear()` to avoid duplicate success lines. - -### Progress feedback for visible operations - -- For operations users wait on (start/stop/restart/tunnel lifecycle), show in-progress spinner in interactive mode. -- Resolve each spinner explicitly to done/error so users can see completion state at the same visual location. -- Keep quiet/json modes non-animated. - -### Prompt flow design - -- Ask required inputs in dependency order (for example hostname before token when token depends on chosen host/mode context). -- When offering save-vs-run flows, ask intent before collecting optional metadata (for example profile name only if user chooses save). -- Prefill editable values with `initialValue` (not only `placeholder`) so users can accept or edit quickly. -- Reuse latest relevant values when safe (for example last managed-local config path, last managed-remote hostname). - -### Readability on narrow terminals - -- Prefer short lines. -- Split long guidance into multiple detail lines. -- Use warning/info codes (`[CODE]`) when the message has follow-up docs or repeat use. - -### Guidance tone - -- Use `Optional Tips` for non-required next actions. -- Avoid wording that implies mandatory follow-up unless it is truly required. - -### Guidance rendering style (preferred) - -- Prefer structured status lines for reusable hints: - - `logStatus('info', '[CODE]', '')` -- Use short, stable codes (for example `[START_PROFILE]`, `[PORT_MISMATCH]`) so users can quickly scan and recognize repeated guidance. -- Prefer this style over boxed notes for routine follow-up actions. -- Reserve `note`/boxed callouts for rare, high-context guidance where a long paragraph is truly necessary. - -## Parity Verification Matrix - -For each command/subcommand, manually verify: - -1. default interactive TTY output -2. `--quiet` output (minimal but informative) -3. `--json` output (JSON-only) -4. non-TTY behavior (e.g. piped) -5. error path in both human and json modes - -## Copy/Paste Snippets - -### Prompt Guard - -```js -if (canPrompt(options)) { - const value = await select({ - message: 'Choose an option', - options: [{ value: 'a', label: 'Option A' }], - }); - if (isCancel(value)) { - cancel('Operation cancelled.'); - return; - } -} -``` - -### Non-Interactive Fallback - -```js -if (!resolvedValue) { - if (canPrompt(options)) { - // prompt path - } else { - throw new Error('Missing required value. Provide --flag .'); - } -} -``` - -### Spinner Guard - -```js -const spin = createSpinner(options); -spin?.start('Running operation...'); -// ...work... -spin?.stop('Done'); -``` - -### JSON vs Human Output - -```js -if (options.json) { - printJson({ ok: true, data }); - return; -} - -intro('Operation'); -log.success('Completed'); -outro('done'); -``` - -## Implementation Checklist - -1. Add or update core validators first. -2. Ensure validators execute in all modes. -3. Add interactive Clack UX only as enhancement. -4. Verify parity between interactive and non-interactive flows. -5. Ensure script-safe deterministic failure behavior. - -## References - -- Policy source: `AGENTS.md` (CLI Parity and Safety Policy) -- Terminal CLI precedent: `packages/web/bin/cli.js` -- Output adapter precedent: `packages/web/bin/cli-output.js` diff --git a/src/.opencode/skills/locale-ui-patterns/SKILL.md b/src/.opencode/skills/locale-ui-patterns/SKILL.md deleted file mode 100644 index ff57255..0000000 --- a/src/.opencode/skills/locale-ui-patterns/SKILL.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -name: locale-ui-patterns -description: Use when creating or modifying OpenChamber UI text, labels, buttons, placeholders, aria labels, empty states, toasts, dialogs, settings copy, navigation labels, or any user-facing strings. ---- - -# Locale UI Patterns - -## Core Rule - -User-facing UI text must go through `@/lib/i18n`; do not hardcode English strings in components. - -Use this skill for any React UI change that adds or edits visible text, accessible labels, placeholders, tooltips, toasts, dialogs, settings labels, navigation labels, or empty/error states. - -## Required Flow - -1. Add or reuse a key in `packages/ui/src/lib/i18n/messages/en.ts`. -2. Add the same key to every non-English dictionary in `packages/ui/src/lib/i18n/messages/`. -3. In components, call `const { t } = useI18n()` from `@/lib/i18n` and render `t('key')`. -4. For locale names or language picker labels, use `label(locale)` from `useI18n()`. -5. Keep locale state in `packages/ui/src/lib/i18n/*`; do not add locale fields to broad stores like `useUIStore`. -6. Do not remount the app to update language. Components must re-render through `useI18n()`. - -## Component Usage Rules - -- Import from `@/lib/i18n`, not deep files. -- Keep `t(...)` calls inside React render/hook scope so locale changes re-render text. -- Do not resolve translated text at module scope. -- For static option arrays, store `labelKey` / `descriptionKey`; resolve with `t(...)` inside the component. -- For non-React helpers, pass translated strings in from the component or pass `t` explicitly. - -## Key Style - -Use stable semantic keys, not English text as keys. - -Keys should describe location + UI role + meaning. They should not encode current copy wording. - -Use existing nearby naming when extending a surface. If no nearby pattern exists, choose a short path that mirrors the UI ownership. - -Namespaces like `layout.*`, `settings.*`, `chat.*`, `git.*`, `session.*`, `toast.*`, and `dialog.*` are examples, not a fixed exhaustive list. - -Good: -```ts -'settings.appearance.language.label': 'Language' -'layout.mainTab.chat': 'Chat' -'chat.input.placeholder': 'Ask OpenChamber...' -``` - -Bad: -```ts -'Language': 'Language' -'chatLabel': 'Chat' -'askOpenChamberDotDotDot': 'Ask OpenChamber...' -``` - -Avoid overly generic keys unless the text is truly global and context-independent. Prefer specific keys when button meaning can vary by surface. - -## Parameters - -Use `{name}` placeholders for dynamic values. - -```ts -'toast.language.changed': 'Language changed to {language}' -``` - -```tsx -t('toast.language.changed', { language: label(locale) }) -``` - -Do not pass grammar fragments as params. Never use params like `{suffix}`, `{plural}`, `{article}`, `{prefix}`, `{dateSuffix}`, or pieces of words/sentences. - -Bad: -```tsx -t('dialog.delete.description', { count, suffix: count === 1 ? '' : 's' }) -``` - -Good: -```tsx -count === 1 - ? t('dialog.delete.descriptionSingle', { count }) - : t('dialog.delete.descriptionPlural', { count }) -``` - -Plural/count-dependent text must use separate complete-message keys unless all supported locales can use one identical complete sentence. Placeholders are only for real values (`{count}`, `{name}`, `{path}`), not grammar. - -Optional clauses must also be complete-message keys. Do not build a sentence by injecting a translated phrase into another translated sentence. - -Bad: -```tsx -t('dialog.delete.description', { - dateLabel: date ? t('dialog.delete.dateSuffix', { date }) : '', -}) -``` - -Good: -```tsx -date - ? t('dialog.delete.descriptionWithDate', { count, date }) - : t('dialog.delete.description', { count }) -``` - -## What Counts As UI Text - -- Button and menu labels -- Settings labels and descriptions -- Placeholder text -- Tooltip content -- Dialog titles/descriptions/actions -- Toast title/description/action labels -- Empty/error/loading states -- `aria-label`, `title`, image `alt` text when user-facing - -## Exceptions - -Do not translate: - -- Product names: `OpenChamber`, `OpenCode`, `GitHub` -- Protocol/tool acronyms: `MCP`, `SSE`, `WebSocket`, `API` -- Model/provider names -- File paths, command names, environment variables -- User/generated content - -## Review Checklist - -- No new hardcoded user-facing English in changed UI files. -- Every new key exists in all dictionaries. -- No locale state added to broad/shared stores. -- No full app remount for locale changes. -- Locale switch preserves current UI state. diff --git a/src/.opencode/skills/settings-ui-patterns/SKILL.md b/src/.opencode/skills/settings-ui-patterns/SKILL.md deleted file mode 100644 index 0fc9276..0000000 --- a/src/.opencode/skills/settings-ui-patterns/SKILL.md +++ /dev/null @@ -1,238 +0,0 @@ ---- -name: settings-ui-patterns -description: Use when creating or modifying UI components, styling, or visual elements related to Settings in OpenChamber. -license: MIT -compatibility: opencode ---- - -# Settings UI Patterns Skill - -## Purpose -This skill provides instructions for creating or redesigning Settings pages, informational panels, and configuration interfaces within the OpenChamber application. - -## Current Canonical Look (2026) -Use this as source of truth for new settings UI work. - -- **Flat hierarchy first**: Prefer spacing + typography hierarchy over boxed backgrounds. -- **No unnecessary wrappers**: Avoid extra section wrappers that mix unrelated controls. -- **No redundant section titles**: Do not add headers like `Theme Preferences` or `Scaling & Layout` when controls are already self-explanatory. -- **Compact controls**: Option chips and radio rows should be dense, not tall. -- **Left-leading state icon**: Radio/checkbox state icon appears before text. -- **Subtle state contrast**: Inactive radio labels should be visibly dimmer than active labels. -- **Minimal row chrome**: Avoid row hover/background highlighting by default; keep only where explicitly needed. - -## Typography Guidelines -Always utilize the standard OpenChamber typography classes defined in `packages/ui/src/lib/typography.ts`. - -- **Page Title**: Use `typography-ui-header font-semibold text-foreground` for the top-most title of a settings page/dialog. -- **Section Header**: Use `typography-ui-header font-medium text-foreground` for settings sections (e.g. `Notification Events`, `Session Defaults`). -- **Control Group Header**: Use `typography-ui-header font-medium text-foreground` (or `font-normal` if it reads too loud) for grouped controls inside a section (e.g. `Default Tool Output`, `Diff Layout`). -- **Values / Primary Text**: Use `typography-ui-label text-foreground`. Add `tabular-nums` if displaying numbers or stats to ensure vertical alignment. -- **Option Labels**: Use non-bold label text in compact option controls (`font-normal` when needed to override). -- **Meta / Helper Text**: Use `typography-meta text-muted-foreground` or `typography-small text-muted-foreground` for supplemental text. - -## Layout and Spacing Patterns - -### 1. Main Backgrounds -Main wrappers should generally use `bg-background` or `bg-[var(--surface-background)]`. Ensure adequate padding (e.g., `px-5 py-6` or `p-6`). - -### 2. Subsection Grouping -Group related controls with vertical spacing, not mandatory cards. - -- Use `space-y-3` between logical subsections. -- Use `p-2` for subsection internal padding. -- Avoid adding `bg-[var(--surface-elevated)]` unless there is a clear reason. -- Avoid extra row decorations (`rounded-md`, hover fills) unless there is explicit UX value. - -### 3. Header-to-Content Hierarchy (critical) -When removing cards/background wrappers, spacing must be rebalanced so header ownership stays clear. - -- Keep **section-to-section spacing larger** than **header-to-own-content spacing**. -- Typical pattern: - - header wrapper `mb-1 px-1` - - content wrapper `pt-0 pb-2 px-2` - - outer section spacing `mb-8` -- Do not leave legacy `mb-3` style gaps after flattening a section; it makes headers look detached. - -### 4. Headerless Blocks (when context is obvious) -If the page title already provides enough context, remove redundant local headers and place controls directly below the title. - -- Example: project page identity controls can sit directly under project name/path. -- Tighten top gap for this pattern (e.g. top header `mb-4` instead of larger section spacing). - -```tsx -
-
...
-
...
-
-``` - -## Structural Patterns - -### 1. Segmented Option Buttons (compact) -Use for short option sets where button-style segmented choice reads best (e.g. Default Tool Output). - -```tsx -
- - Collapsed - -
-``` - -### 2. Radio Option Lists (compact rows) -Use for mutually exclusive mode/layout settings (e.g. Diff Layout, Diff View Mode). - -- Use shared `Radio` component from `@/components/ui/radio`. -- Icon first, label second. -- Row container compact: `py-0.5`. -- Inactive label can use `text-foreground/50`. - -```tsx -
-
- - Dynamic -
-
-``` - -### 3. Checkbox Setting Rows -Use shared `Checkbox` component from `@/components/ui/checkbox` for boolean toggles. - -- Icon first, text immediately after (`gap-2`). -- Typical row spacing for checkbox rows: `py-1.5`. -- Keep row click and keyboard toggle support. -- Prefer checkbox over binary show/hide button pairs for pure boolean state. - -```tsx -
- - Show Dotfiles -
-``` - -### 4. Invisible Two-Column Alignment -Use consistent label/control columns across settings rows so controls align on a shared vertical line. - -- Desktop row pattern: `flex items-center gap-8` -- Label column width: `w-56 shrink-0` -- Control cluster: `w-fit` - -```tsx -
- Interface Font Size -
...
-
-``` - -#### Disabled control rule -If a control is unavailable, disable the control only. Do not dim the label row by default. - -#### Width-matching rule -When matching visual widths across different rows, compare full row footprint (control + adjacent action buttons), not just input width. - -### 5. Theme Row Composition -For theme controls in Appearance: - -- `Color Mode` header on first line; option chips below it. -- `Light Theme` and `Dark Theme` on one row where possible, wrapping on small widths. -- Keep selectors near labels and aligned to existing column rhythm. -- Replace persistent helper text with an info tooltip icon near the related action. - -```tsx -
-
Light Theme ...
-
Dark Theme ...
-
-``` - -### 6. Numeric Controls in Settings -Use compact stepper input (`- value +`) plus reset button. - -- Prefer shared `NumberInput` stepper style over slider + numeric combo in dense settings pages. -- Keep reset button adjacent to control (`gap-2`). -- Avoid using Tailwind `overflow-hidden` on mobile for controls; `packages/ui/src/styles/mobile.css` forces `.overflow-hidden { overflow-y: auto !important; }`. - Use `overflow-x-hidden overflow-y-hidden` if you truly need clipping. -- Touch devices: `packages/ui/src/styles/mobile.css` enforces `min-height: 36px` on `button`. If you build custom segmented controls with `