import { type ProjectPathKey } from './paths.js'; import type { IntegrationName } from '../types.js'; /** Marker used to identify physical skill bridges managed by agents. */ export declare const BRIDGE_MARKER_FILENAME = ".agents_bridge"; /** * A tool that reads skills from its own directory rather than from `.agents/skills`. * The sync points that directory at the source, so the tool needs no copy of its own. */ export interface SkillBridgeDefinition { integration: IntegrationName; /** * Directory the tool reads skills from. The directory to create is derived from this * path rather than kept as a second key: Kilo keeps kilo.jsonc under the XDG config * directory and its skills under the home directory, so a separate key would point * the sync at the wrong parent in global mode. */ pathKey: ProjectPathKey; /** Path as it is shown in warnings and in `agents status`. */ label: string; /** `.gitignore` entry in source-only mode, where a broader entry does not already cover it. */ gitignoreEntry?: string; } /** * Every skill bridge the sync owns, in the order it writes them. * * Tools that discover `.agents/skills` on their own are absent here and carry * `nativeSkills` in the integration registry instead. */ export declare const SKILL_BRIDGES: SkillBridgeDefinition[]; /** `.gitignore` entries for the bridges, used by the source-only sync mode. */ export declare const SKILL_BRIDGE_GITIGNORE_ENTRIES: string[]; export interface AntigravitySkillsBridgeHealth { expectedSkillNames: string[]; duplicateNames: string[]; exists: boolean; physicalDirectory: boolean; managed: boolean; inSync: boolean; } /** Inspect the Antigravity-compatible flat skill bridge without changing it. */ export declare function inspectAntigravitySkillsBridge(sourcePath: string, bridgePath: string): Promise; /** * Synchronizes the project's agents skills directory into each supported integration's bridge location. * * Ensures the agents skills directory exists (unless `check` is true), detects whether any managed skill * directories are present, and for each supported integration will create, update, or remove that * integration's skills bridge according to whether the integration is enabled and skills exist. * Records affected paths in `changed`, may append warnings for unmanaged existing bridges, and finally * cleans up a legacy antigravity bridge if it is agent-managed and matches the current source. * * @param projectRoot - Path to the repository/project root * @param enabledIntegrations - List of integration names that should have active bridges * @param check - If true, perform a dry run: record potential changes in `changed` but do not modify the filesystem * @param changed - Array that will be appended with paths (relative when possible) of bridges and directories that would be or were changed/removed * @param warnings - Array that will be appended with human-readable warning messages encountered during synchronization */ export declare function syncSkills(args: { projectRoot: string; enabledIntegrations: IntegrationName[]; check: boolean; changed: string[]; warnings: string[]; }): Promise;