Skip to content

enhancement(marketplace): driver installation writes manifest without code execution or runtime integration #269

Closed

Description

@ZhuchkaTriplesix

Summary / Описание проблемы

В окне управления расширениями (Edit -> Extensions...) можно просматривать и устанавливать расширения, в том числе сторонние драйверы баз данных (тип ExtensionType.databaseDriver, например ClickHouse Driver или Redis Driver).
Однако в настоящее время установка расширения через MockMarketplaceRepository сводится к имитации прогресса скачивания (for (int i = 1; i <= 10; i++) ...) и сохранению на локальный диск только файла manifest.json. Реальный исполняемый код расширений (указанный как main: 'index.js' или плагин) не загружается, в Dart/Node не исполняется, а архитектура динамического подключения внешних драйверов отсутствует — все драйверы (PostgreSQL, MySQL, SQLite, Redis, MongoDB) жёстко скомпилированы внутри приложения на этапе сборки.

Scope & Component

  • Scope: desktop
  • Component: Marketplace / Extensions
  • Kind: enhancement
  • Severity: medium
  • Detected in version: dev / 0.5.0

Местоположение в коде

  • Файлы:
    • lib/core/market/marketplace_repository.dart (строки ~174-200, метод install)
    • lib/features/extensions/presentation/pages/extension_manager_dialog.dart (строки ~65-87)

Шаги воспроизведения

  1. Открыть Edit -> Extensions....
  2. Найти расширение с типом Database Driver (например, ClickHouse Driver или Redis Driver).
  3. Нажать кнопку Install.
  4. Проверить директорию установленных расширений (~/.gemini/antigravity-cli/... или ~/.config/querya/extensions/).
  5. Фактический результат: Создаётся папка с единственным файлом manifest.json. Никакого функционала драйвер в клиент не добавляет.
  6. Ожидаемый результат: Реализовать контракт динамической загрузки драйверов/плагинов (через FFI, изоляты или IPC/Node-сайдкар) либо четко пометить маркетплейс драйверов как Mock / Preview, чтобы пользователь понимал текущие ограничения.

Acceptance Criteria / Критерии приемки

  • Спроектировать и задокументировать механизм подключения внешних плагинов-драйверов (или связать с Marketplace API из Obsidian дорожной карты).
  • Заменить MockMarketplaceRepository на реальный клиент Marketplace API (или явно отделить установку тем от драйверов, где темы работают полноценно через theme.json, а драйверы имеют статус Preview).
  • Добавить обработку ошибок установки при отсутствии реального бинарного файла драйвера в архиве расширения.

Activity

  1. added
    enhancementNew feature or request
    marketplaceExtensions marketplace, ExtensionManifest
    coreCore library logic and services
    on Jul 10, 2026
  2. ZhuchkaTriplesix commented on Jul 10, 2026

    @ZhuchkaTriplesix
    MemberAuthor

    Implemented in #298

  3. added a commit that references this issue on Jul 27, 2026
    8dd60fb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

coreCore library logic and servicesenhancementNew feature or requestmarketplaceExtensions marketplace, ExtensionManifest

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions