eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
53 lines (52 loc) • 2 kB
TypeScript
import { type RegistryConfig } from "#compiled/shadcn-registry/index.js";
import { z } from "#compiled/zod/index.js";
import { type Prompter } from "#setup/prompter.js";
import type { RegistrySetupCompletion } from "#setup/registry-setup-protocol.js";
import type { AddCommandOptions, RegistryCommandLogger } from "./registry.js";
import { type DeclaredPnpmBuildPolicy } from "./registry-pnpm-build-policy-flow.js";
import type { RegistrySetupCommand } from "./registry-setup-command.js";
export declare const RegistryPackageComponentSchema: z.ZodObject<{
item: z.ZodString;
label: z.ZodString;
description: z.ZodOptional<z.ZodString>;
default: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
export type RegistryPackageComponent = z.infer<typeof RegistryPackageComponentSchema>;
interface PackageMetadata {
requires?: string;
install?: {
pnpm?: {
buildScripts: readonly DeclaredPnpmBuildPolicy[];
};
};
setup?: RegistrySetupCommand[];
}
export interface RegistryPackageDependencies {
createPrompter?: () => Prompter;
hasInteractiveTerminal?: () => boolean;
}
export interface RegistryPackageOperations {
itemAddress(item: string): string;
metadata(item: unknown): PackageMetadata | undefined;
assertCompatibleVersion(requiredVersion: string | undefined): void;
runSetups(input: {
item: string;
setups: RegistrySetupCommand[];
prompter: Prompter;
}): Promise<RegistrySetupCompletion | false>;
setupReminder(item: string): string;
}
export declare function runRegistryPackage(input: {
logger: RegistryCommandLogger;
appRoot: string;
item: string;
components: readonly RegistryPackageComponent[];
config: RegistryConfig;
options: AddCommandOptions & {
prompter?: Prompter;
signal?: AbortSignal;
};
dependencies: RegistryPackageDependencies;
operations: RegistryPackageOperations;
}): Promise<RegistrySetupCompletion | false>;
export {};