/** Canonical vocabulary for platform integration adapters. */ export declare const CAPABILITIES: readonly ['instructions', 'skills', 'mcp', 'commands', 'agents', 'hooks', 'status', 'lifecycle', 'permissions']; export type Capability = (typeof CAPABILITIES)[number]; export type SupportLevel = 'native' | 'cli_fallback' | 'unsupported' | 'experimental'; export type VerificationLevel = 'none' | 'fixture' | 'schema' | 'runtime'; export type InstallScope = 'project' | 'user'; export type ArtifactKind = 'instruction' | 'skill' | 'mcp' | 'command' | 'agent' | 'hook' | 'hook_bridge' | 'status' | 'plugin' | 'permission'; export type ArtifactFormat = 'md' | 'toml' | 'json' | 'jsonc' | 'yaml' | 'sh' | 'js'; export type PlatformId = 'claude' | 'gemini' | 'cursor' | 'vscode' | 'copilot' | 'opencode' | 'aider' | 'kiro' | 'trae' | 'openclaw' | 'droid' | 'antigravity' | 'hermes' | 'codex' | 'kimi' | 'zed'; export interface VerificationEvidence { level: VerificationLevel; sourceUrl?: string; sourceLocator?: string; verifiedAt: string; } export interface ArtifactLocation { /** Relative to the selected project root, or relative to the user's home directory. */ path: string; format?: ArtifactFormat; entryPath?: readonly string[]; } export interface PlatformPaths { locations: Partial>>>; } export interface PlatformAdapter { id: PlatformId; displayName: string; capabilities: Record; verification: Record; activationNotes?: Readonly>>; paths: PlatformPaths; requiresDiscovery: boolean; } export interface DiscoveryResult { available: boolean; version?: string; /** Explicitly observed paths only; discovery never manufactures a location. */ paths: Readonly>; features: ReadonlySet; /** Discovery evidence is advisory; it cannot promote a registry capability. */ verification: Partial>; diagnostics: readonly string[]; locations?: Partial>>>; } export interface InstallRequest { platform: PlatformId; scope: InstallScope; path?: string; yes?: boolean; dryRun?: boolean; enableHooks?: boolean; enableBlockingHooks?: boolean; discovery?: DiscoveryResult; } export type MutationRequest = Omit & { platform?: PlatformId; all?: boolean; removeLegacy?: boolean; }; export interface ArtifactIntent { kind: ArtifactKind; locationKey: ArtifactKind; content: string; scope: InstallScope; replace: 'managed_block' | 'named_entry' | 'create_if_missing'; marker?: string; /** Path below a declared directory root (currently used by skill packages). */ relativePath?: string; entryPath?: readonly string[]; format?: ArtifactFormat; } export interface PlatformPlan { scope: InstallScope; authorizedUserMutation: boolean; intents: readonly ArtifactIntent[]; diagnostics: readonly string[]; } export interface ResolvedArtifactLocation { path: string; displayPath: string; format?: ArtifactFormat; entryPath?: readonly string[]; } export interface ApplyResult { changed: readonly string[]; skipped: readonly string[]; diagnostics: readonly string[]; plan: PlatformPlan; } export interface PlatformDoctorReport { platform: PlatformId; capabilities: Record; verification: Record; artifacts: readonly { path: string; state: 'managed' | 'missing' | 'legacy' | 'foreign'; }[]; legacy: { findings: readonly string[]; migratable: boolean; }; diagnostics: readonly string[]; sanitized: true; } //# sourceMappingURL=types.d.ts.map