/** * dsh-research, browser half. Contributes the curated research plugin market * to its native plugin detail page and to the Settings sidebar. * * The catalog is read from the Node half's route rather than from the network * directly, so the page has no third-party origin of its own and a slow * catalog cannot stall settings. * @module dsh-research/client */ import type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client'; export { DOWN_BUDGET_MS, MarketController, PROBE_INTERVAL_MS, UP_BUDGET_MS, createStore, filterItems, installCommand, fetchCatalogRoute, probeHost, versionNewer } from './store.js'; export type { CatalogFetch, MarketState, RestartPhase, Store } from './store.js'; export { MarketSection } from './Section.js'; export type { MarketSectionFace, MarketSectionProps } from './Section.js'; export { NS, en, zh } from './locales.js'; /** Cordis plugin name used by client-side loader diagnostics. */ export declare const name = "research-market-client"; /** * Services this half reaches through `ctx.`. * * Cordis refuses an undeclared property access — `ctx.locale` without this * line fails the whole loader entry with "cannot get property locale without * inject", which blanks the settings dialog rather than degrading. Both are * mandatory in every web composition, so requiring them costs nothing. */ export declare const inject: string[]; /** * Register the settings page. * @param ctx - client context with slots, locale and store hooks. */ export declare function apply(ctx: ClientContext): void;