/** * [WHO]: Provides buildSessionSlashCommands(), buildExtensionSlashCommands(), SessionSlashCommandDescriptor * [FROM]: Depends on ExtensionRunner, ResourceLoader, prompt templates, slash command metadata, i18n translator * [TO]: Consumed by AgentSession and extension core bindings when exposing command catalogs * [HERE]: core/runtime/slash-command-catalog.ts - shared slash command catalog assembly for runtime adapters */ import type { ResourceLoader } from "../platform/config/resource-loader.js"; import type { ExtensionRunner } from "../extensions-host/index.js"; import type { PromptTemplate } from "../prompt/prompt-templates.js"; import { getLocalizedCommands, type SlashCommandInfo, type SlashCommandCategory } from "../slash-commands.js"; export interface SessionSlashCommandDescriptor { name: string; description?: string; source: "builtin" | SlashCommandInfo["source"]; category?: SlashCommandCategory; } type Translate = Parameters[0]; export interface SlashCommandCatalogSource { promptTemplates: ReadonlyArray; resourceLoader: ResourceLoader; extensionRunner?: ExtensionRunner; } export declare function buildSessionSlashCommands(source: SlashCommandCatalogSource, translate: Translate): SessionSlashCommandDescriptor[]; export declare function buildExtensionSlashCommands(source: SlashCommandCatalogSource & { extensionRunner: ExtensionRunner; }): SlashCommandInfo[]; export {};