/** * Meta-tool descriptor barrel. * * Each cross-platform meta tool (device, screen, ui, …) lives in its own file * and exports a `Meta` / `Aliases` pair. Historically the * `BuiltinToolsPlugin` had to import each pair by hand (~20 lines) and then * re-list every meta tool in a `Record` literal to * thread it through profile-based visibility — for every new meta tool that * was three places to remember to edit. * * This barrel centralizes the list. Adding a meta tool now means: * 1. create `xxx-meta.ts` with `xxxMeta` + `xxxAliases` exports * 2. add one entry to `META_TOOL_DESCRIPTORS` below * * The plugin iterates `META_TOOL_DESCRIPTORS` and uses `MODULE_METADATA` for * profile gating — no plugin-side editing required. * * NOTE: TypeScript has no module-glob import, so the imports below are still * one line each. The friction win is having a single barrel/single list rather * than three parallel ones spread across files. */ import type { ToolDefinition } from "../registry.js"; /** Backward-compat alias map shape — canonical tool name + per-call default args. */ export type AliasMap = Record; }>; /** * Self-describing record produced by each meta-tool module. * * - `meta` carries the registry-ready `ToolDefinition` (legacy shape — the * handler receives a `ToolContext`, which the plugin-api `ToolDefinition` * does not model, so registration still goes through the legacy registry). * - `aliases` exposes v3.0.x/v3.1.x backward-compat aliases produced by * `createMetaTool` (or hand-rolled in older meta files). */ export interface MetaToolDescriptor { /** Canonical meta-tool name. Must match `tool.name` and `MODULE_METADATA[].name`. */ name: string; /** Legacy `ToolDefinition` — `{ tool, handler }` with ToolContext-aware handler. */ meta: ToolDefinition; /** Backward-compat aliases. Empty object if the tool has none. */ aliases: AliasMap; } /** * The full meta-tool catalogue. Profile-based visibility (which of these are * shown vs hidden at startup) is driven by `PROFILE_VISIBLE` / * `ALWAYS_VISIBLE` in `profiles.ts` — that mapping is the source of truth, so * we deliberately don't duplicate it here. */ export declare const META_TOOL_DESCRIPTORS: readonly MetaToolDescriptor[]; /** * Short / canonical aliases that don't map 1:1 to a single underlying tool * (e.g. `autopilot_explore` → `autopilot` with `action:"explore"` default). * * These previously lived in the BuiltinToolsPlugin literal. Centralizing them * here keeps all alias surface in one place; consumers merge them with the * per-descriptor `aliases` map. */ export declare const META_SHORT_ALIASES: AliasMap; /** * v3.0.x backward-compat aliases — flat names (e.g. `tap`, `screenshot`) * that pre-date the meta-tool refactor. These are LLM-facing and must not * change shape without a major bump. */ export declare const META_LEGACY_ALIASES: AliasMap; //# sourceMappingURL=index.d.ts.map