/** * Native extension manifests — single source of truth for built-in extensions. * * Native extensions are loaded by default on all machines unless explicitly * disabled via `Settings.disabledNativeExtensions`. Default-off extensions * are loaded only when opted in via `Settings.enabledNativeExtensions`. Each * extension has a stable `id` used in settings, a human-readable label for the * landing UI, and an optional file path for extensions that live as separate files. * * Extensions with empty `entryPath` are "core" features implemented directly * in the agent runtime (e.g., memory). They don't need a file to load, but * they still appear in the settings panel so users can see and toggle them. */ export interface NativeExtensionManifest { /** Stable identifier used in settings (e.g. "memory", "browser"). */ id: string; /** Human-readable name shown in the landing settings UI. */ label: string; /** One-line description for tooltips. */ description: string; /** Category for grouping in the settings panel. */ category: "core" | "automation" | "integration"; /** * Path to the extension entry file, relative to the CLI's extensions directory. * Empty string means the extension is built into the runtime (no file to load). */ entryPath: string; /** Whether this extension is enabled by default on all machines. */ defaultEnabled: boolean; /** Optional tags for filtering. */ tags?: string[]; } /** * Canonical list of native extensions. * * To add a new native extension, add its manifest here. The extension will * automatically appear in the landing settings panel and be loaded by default * unless `defaultEnabled: false`. */ export declare const NATIVE_EXTENSIONS: NativeExtensionManifest[]; /** * Look up a native extension by id. Returns undefined for unknown ids. */ export declare function getNativeExtension(id: string): NativeExtensionManifest | undefined; /** * Get the list of native extension entry paths that should be loaded, * respecting default-on disabled ids and default-off enabled ids. */ export declare function getEnabledNativeExtensionPaths(disabledIds: Set, enabledIds: Set): string[]; /** * Build the payload for the `native_extensions_info` relay frame. */ export declare function buildNativeExtensionsInfo(disabledIds: Set, enabledIds: Set): Array<{ id: string; label: string; description: string; category: string; defaultEnabled: boolean; enabled: boolean; tags?: string[]; }>; //# sourceMappingURL=native-extensions.d.ts.map