export type SmokeStatus = "ok" | "timeout" | "crash" | "capability-denied" | "output-limit" | "sandbox-unavailable"; export interface SmokeRegistrations { tools: string[]; commands: string[]; shortcuts: string[]; flags: string[]; providers: string[]; events: string[]; renderers: string[]; /** * Names, within tools/commands/shortcuts/flags respectively, whose registration call carried an * explicit `shared: true` marker -- see @danypops/vehicle-client-pi's own markSharedRegistration. * doctor.ts only suppresses a name's conflict once EVERY one of its claimants marked it shared. */ sharedTools: string[]; sharedCommands: string[]; sharedShortcuts: string[]; sharedFlags: string[]; } export interface ExtensionSmokeResult { path: string; status: SmokeStatus; durationMs: number; registrations: SmokeRegistrations; message?: string; } export interface SmokeOptions { timeoutMs?: number; maxOutputBytes?: number; maxProcesses?: number; } /** * Resolves an installed dependency's real on-disk package directory via * Node's own module-resolution algorithm (require.resolve against its * package.json), starting from `fromDir` -- correct regardless of whether * the package manager nested it under fromDir's own node_modules or * hoisted it to a shared ancestor node_modules (npm's own hoisting * decision, driven by what else in the tree also depends on it). * Confirmed live: `packed doctor --json` crashed hard reconstructing a * fixed nested-only path (`/node_modules/jiti`) that * doesn't exist once jiti is hoisted to Pi's own npm prefix instead of * pi-packed's own node_modules. Never executes the resolved module -- * require.resolve only locates a path, it never runs anything. undefined * (not a throw) when genuinely unresolvable from here. */ export declare function resolveDependencyModulesDir(fromDir: string, name: string): string | undefined; export declare function runExtensionSmoke(packagePath: string, extensionFile: string, options?: SmokeOptions): Promise; //# sourceMappingURL=smoke.d.ts.map