@supernovaio/cli
Version:
Supernova.io Command Line Interface
108 lines • 4.08 kB
TypeScript
import { SetupContext, SetupState, TemplateFramework } from "../flow/types.js";
export type DependencyMode = "Public" | "Private";
export type DockerAvailabilityIssue = {
kind: "missing" | "not_running";
message: string;
};
export type PromptPreset = NonNullable<SetupContext["selectedPromptPreset"]>;
export type SandboxTemplateRef = {
id: string;
version: string;
};
export type SetupHandlers = Partial<Record<SetupState, (context: SetupContext) => Promise<SetupContext | void>>>;
export type SetupUi = {
error: (message: string) => never;
log: (message: string) => void;
renderSetupCompleteCard: (input: {
contextName: string;
designSystemName: string;
projectUrl: string;
shouldRunScan: boolean;
}) => void;
renderStep: (title: string) => void;
renderTemplateReadyCard: (templateDestinationPath: string) => void;
};
export type ValidationService = {
findParentGitDirectoryLocation(): string | null;
};
export type SetupDesignSystemServices = {
ensureSandboxTemplateAccess: (workspaceId: string) => Promise<void>;
ensureWorkspaceSetupEligibility: (workspaceId: string) => Promise<void>;
promptDesignSystemId: () => Promise<string>;
resolveDesignSystemName: (designSystemId: string) => Promise<string | undefined>;
resolveWorkspaceIdForDesignSystem: (designSystemId: string) => Promise<string>;
updateSelectedDesignSystem: (designSystemId: string) => void;
};
export type SetupScanServices = {
persistAnalyzePackages: (componentPackages: string[]) => void;
runScanAgainstSourcePath: (input: {
componentPackages: string[];
designSystemId: string;
scanSourcePath: string;
}) => Promise<string[]>;
uploadAnalysisSnapshots: (input: {
designSystemId: string;
scanOutputPaths: string[];
}) => Promise<{
processingRunId?: string;
snapshotIds: string[];
}>;
waitForAnalysisProcessing: (input: {
designSystemId: string;
processingRunId?: string;
}) => Promise<void>;
};
export type SetupContainerServices = {
detectDockerAvailabilityIssue: () => Promise<DockerAvailabilityIssue | undefined>;
ensureTemplateRepository: (framework: TemplateFramework, destinationPath: string) => Promise<void>;
ensureTemplateVersionIsUnique: (input: {
workspaceId: string;
designSystemId: string;
templateDestinationPath: string;
}) => Promise<void>;
resolveTemplateUploadPath: (defaultPath: string) => Promise<string>;
runTemplateUploadWithCleanup: (input: {
dependencyMode?: DependencyMode;
designSystemId: string;
npmToken?: string;
privateDependencyEntries?: string[];
templateDestinationPath: string;
workspaceId: string;
}) => Promise<SandboxTemplateRef>;
};
export type SetupDependencyServices = {
applyTemplateDependencyConfiguration: (context: SetupContext) => Promise<void>;
createPrivateDependencyEntries: (packageNames: string[]) => string[];
ensureLocalNpmrcFile: (templateDestinationPath: string) => Promise<string>;
validateTemplateDependencies: (context: SetupContext) => Promise<void>;
};
export type SetupPrototypeServices = {
createPrototypeProject: (input: {
workspaceId: string;
contextId: string;
projectName: string;
promptText: string;
}) => Promise<{
featureId: string;
projectId: string;
}>;
ensureSharedContext: (input: {
workspaceId: string;
designSystemId: string;
contextName: string;
sandboxTemplate: SandboxTemplateRef;
}) => Promise<string>;
openBrowser: (url: string) => Promise<void>;
};
export type SetupServices = {
validation: ValidationService;
container: SetupContainerServices;
debug: boolean;
dependencies: SetupDependencyServices;
designSystems: SetupDesignSystemServices;
env: string;
prototype: SetupPrototypeServices;
scan: SetupScanServices;
ui: SetupUi;
};
//# sourceMappingURL=runtime.d.ts.map