/** * @file app.esm.instance.ts * @description ESM-loaded app instance that dynamically imports npm packages via esm.sh. * * Unlike AppRemoteInstance (which proxies to a remote MCP server), * AppEsmInstance loads the package code locally and executes in-process. */ import { AppEntry, type AdapterRegistryInterface, type AppRecord, type PluginRegistryInterface, type ProviderRegistryInterface, type RemoteAppMetadata } from '../../common'; import { type ParsedPackageSpecifier } from '../../esm-loader/package-specifier'; import PromptRegistry from '../../prompt/prompt.registry'; import type ProviderRegistry from '../../provider/provider.registry'; import ResourceRegistry from '../../resource/resource.registry'; import { type SkillRegistryInterface } from '../../skill/skill.registry'; import ToolRegistry from '../../tool/tool.registry'; /** * ESM app instance that loads npm packages via esm.sh CDN * and executes their code locally in-process. * * Key features: * - Dynamic import of npm packages at runtime * - Local file-based caching of ESM bundles * - Background version polling with semver range checking * - Hot-reload when new versions are detected * - Standard registry integration (hooks, events, etc.) */ export declare class AppEsmInstance extends AppEntry { readonly id: string; get isRemote(): boolean; private readonly scopeProviders; private readonly appOwner; private readonly loader; private readonly specifier; private poller?; private loadResult?; private updateInProgress; private readonly _tools; private readonly _resources; private readonly _prompts; private readonly _plugins; private readonly _adapters; private readonly _skills; constructor(record: AppRecord, scopeProviders: ProviderRegistry); protected initialize(): Promise; get providers(): ProviderRegistryInterface; get adapters(): AdapterRegistryInterface; get plugins(): PluginRegistryInterface; get tools(): ToolRegistry; get resources(): ResourceRegistry; get prompts(): PromptRegistry; get skills(): SkillRegistryInterface; /** * Get the currently loaded package version. */ getLoadedVersion(): string | undefined; /** * Get the package specifier. */ getSpecifier(): ParsedPackageSpecifier; /** * Force reload the package (useful for manual updates). */ reload(): Promise; /** * Stop the version poller and clean up. */ dispose(): Promise; /** * Register primitives from a loaded package manifest into standard registries. */ private registerFromManifest; /** * Handle a new version detected by the version poller. */ private handleVersionUpdate; /** * Map a public PackageLoader config to internal EsmRegistryAuth. */ private deriveRegistryAuth; } //# sourceMappingURL=app.esm.instance.d.ts.map