trigger.dev
Version:
A Command-Line Interface for Trigger.dev projects
146 lines (145 loc) • 4.56 kB
TypeScript
import { z } from "zod";
import { RulesFileInstallStrategy } from "./types.js";
declare const RulesManifestDataSchema: z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
currentVersion: z.ZodString;
versions: z.ZodRecord<z.ZodString, z.ZodObject<{
options: z.ZodArray<z.ZodObject<{
name: z.ZodString;
title: z.ZodString;
label: z.ZodString;
path: z.ZodString;
tokens: z.ZodNumber;
client: z.ZodOptional<z.ZodString>;
installStrategy: z.ZodOptional<z.ZodString>;
applyTo: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
path: string;
name: string;
title: string;
label: string;
tokens: number;
client?: string | undefined;
installStrategy?: string | undefined;
applyTo?: string | undefined;
}, {
path: string;
name: string;
title: string;
label: string;
tokens: number;
client?: string | undefined;
installStrategy?: string | undefined;
applyTo?: string | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
options: {
path: string;
name: string;
title: string;
label: string;
tokens: number;
client?: string | undefined;
installStrategy?: string | undefined;
applyTo?: string | undefined;
}[];
}, {
options: {
path: string;
name: string;
title: string;
label: string;
tokens: number;
client?: string | undefined;
installStrategy?: string | undefined;
applyTo?: string | undefined;
}[];
}>>;
}, "strip", z.ZodTypeAny, {
name: string;
description: string;
currentVersion: string;
versions: Record<string, {
options: {
path: string;
name: string;
title: string;
label: string;
tokens: number;
client?: string | undefined;
installStrategy?: string | undefined;
applyTo?: string | undefined;
}[];
}>;
}, {
name: string;
description: string;
currentVersion: string;
versions: Record<string, {
options: {
path: string;
name: string;
title: string;
label: string;
tokens: number;
client?: string | undefined;
installStrategy?: string | undefined;
applyTo?: string | undefined;
}[];
}>;
}>;
type RulesManifestData = z.infer<typeof RulesManifestDataSchema>;
export type RulesManifestVersionOption = {
name: string;
title: string;
label: string;
contents: string;
tokens: number;
client: string | undefined;
installStrategy: RulesFileInstallStrategy;
applyTo: string | undefined;
};
export type ManifestVersion = {
version: string;
options: Array<RulesManifestVersionOption>;
};
export declare class RulesManifest {
private readonly manifest;
private readonly loader;
constructor(manifest: RulesManifestData, loader: RulesManifestLoader);
get name(): string;
get description(): string;
get currentVersion(): string;
getCurrentVersion(): Promise<ManifestVersion>;
get versions(): Record<string, {
options: {
path: string;
name: string;
title: string;
label: string;
tokens: number;
client?: string | undefined;
installStrategy?: string | undefined;
applyTo?: string | undefined;
}[];
}>;
}
export declare function loadRulesManifest(loader: RulesManifestLoader): Promise<RulesManifest>;
export interface RulesManifestLoader {
loadManifestContent(): Promise<string>;
loadRulesFile(relativePath: string): Promise<string>;
}
export declare class GithubRulesManifestLoader implements RulesManifestLoader {
private readonly branch;
constructor(branch?: string);
loadManifestContent(): Promise<string>;
loadRulesFile(relativePath: string): Promise<string>;
}
export declare class LocalRulesManifestLoader implements RulesManifestLoader {
private readonly path;
constructor(path: string);
loadManifestContent(): Promise<string>;
loadRulesFile(relativePath: string): Promise<string>;
}
export {};