← Files ModRetro Chromatic PluginARCHIVED FILE
scripts/chromatic.d.mts
3.25 KB · Oct 2, 2026 · 00:37 UTC
import type { ChildProcess, SpawnOptions } from "node:child_process";
import type { EventEmitter } from "node:events";
import type { Stats } from "node:fs";
import type { ChromaticTargetOptions } from "./chromatic-runtime.mjs";
export interface ChromaticErrorFields {
name: string;
message: string;
code?: string | number;
errno?: string | number;
syscall?: string;
path?: string;
}
export interface ChromaticProcessBoundary { code: number | null; signal: string | null; at: string }
export interface ChromaticStream {
text: string;
bytes: number;
retainedBytes: number;
truncated: boolean;
endObserved: boolean;
closeObserved: boolean;
utf8Valid: boolean;
error?: ChromaticErrorFields;
}
export interface ChromaticProcessResult {
command: string;
args: string[];
version: string;
target: string;
startedAt: string;
pid?: number;
spawn?: { at: string; pid?: number };
error?: ChromaticErrorFields;
exit?: ChromaticProcessBoundary;
close: ChromaticProcessBoundary;
stdout: ChromaticStream;
stderr: ChromaticStream;
interruptions: string[];
observationErrors: ChromaticErrorFields[];
observationCounts?: { failedCallbacks: number; skippedCallbacks: number };
elevation?: { method: "polkit" | "windows-run-as"; operationId: string; requestedExecutable: string; requestedArgs: string[]; sha256?: string; outputScope: string; note: string };
}
export interface ChromaticProcessEvent { type: string; [key: string]: unknown }
export class ChromaticNotStartedError extends Error {
readonly code: string;
constructor(error: unknown);
}
export interface ChromaticRunOptions extends ChromaticTargetOptions {
root?: string;
spawnChild?: (command: string, args: string[], options: SpawnOptions) => ChildProcess;
signalSource?: EventEmitter;
resolveElevationExecutable?: (platform: string, environment: NodeJS.ProcessEnv) => string;
operationId?: string;
}
export function systemElevationExecutable(platform: string, environment: NodeJS.ProcessEnv, filesystem?: {
lstat?: (filename: string) => Pick<Stats, "isSymbolicLink" | "isFile" | "isDirectory" | "nlink" | "uid" | "mode">;
realpath?: (filename: string) => string;
}): string;
export function chromaticInvocation(runtime: { executable: string; platform: string }, args: string[], options?: {
platform?: string; environment?: NodeJS.ProcessEnv; operationId?: string;
resolveElevationExecutable?: (platform: string, environment: NodeJS.ProcessEnv) => string;
}): { command: string; args: string[]; environment: NodeJS.ProcessEnv; elevation?: NonNullable<ChromaticProcessResult["elevation"]> };
export const CHROMATIC_STREAM_LIMIT: number;
export const CHROMATIC_LIVE_DEFAULT_DURATION_SECONDS: number;
export const CHROMATIC_LIVE_MIN_DURATION_SECONDS: number;
export const CHROMATIC_LIVE_MAX_DURATION_SECONDS: number;
export function validateChromaticArguments(args: string[]): string[];
export function runChromatic(args: string[], options?: ChromaticRunOptions): Promise<{
code: number | null; signal: string | null; pid?: number; interruptions: string[];
}>;
export function runChromaticCaptured(args: string[], options?: ChromaticRunOptions & {
onEvent?: (event: ChromaticProcessEvent) => void;
onOutput?: (stream: "stdout" | "stderr", bytes: Buffer) => void;
}): Promise<ChromaticProcessResult>;
SHA-256: e7e001e2d4e0cbc8a52c2de8b0300eae98c3b4b2cda9203ea0441351ac5e7540