/** * Scanner → ARKNA Registration Bridge * * Transforms a ScanResultV2 into the AgentInput format expected by * POST /api/scanner/agents and pushes it to the backend. * * Called by the CLI when --register is passed, and exported for use * by the Tauri scanner app's "Connect to ARKNA" flow. */ import type { ScanResultV2, BulkRegistrationResult } from './types'; export declare const DEFAULT_API_URL = "https://api.arkna.ai"; export interface RegisterOptions { /** ARKNA account API key (ark_live_... or ark_test_...) */ apiKey: string; /** Override the default API base URL */ apiUrl?: string; } /** * A discovered name like "langgraph (corpus)" is a good label and a bad * identity. Agent rows converge on name, and "arkna record" run in that same * folder reports "corpus", so registering the qualified form gives one agent * two rows that never merge: the runs land on one while the coverage check * watches the other, which can then never be satisfied no matter how well the * agent is recorded. The qualifier is already carried in the framework field, * so only the folder is registered. The label the operator reads is unchanged. * * The folder test is what keeps this narrow: a name whose parenthetical is not * the directory it was found in (a cron job, a shell profile) is left alone. */ export declare function registeredName(displayName: string, location: string): string; /** * Register all agents discovered in a scan with the ARKNA backend. * * The backend deduplicates by name (case-insensitive), so re-running the * scanner won't create duplicate registrations. * * @throws if the API returns a non-2xx status */ export declare function registerAgents(result: ScanResultV2, options: RegisterOptions): Promise; //# sourceMappingURL=register.d.ts.map