This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
// Type declarations for the dependency-free setup helpers in setup-lib.mjs.
|
||||
// The browser setup wizard server (src/bridge/setup-api.ts) imports this module
|
||||
// at runtime from BOTH the dev (ts-node) and dist layouts via the relative path
|
||||
// `../../scripts/setup-lib.mjs`, which resolves to <root>/scripts in either
|
||||
// case (Codex P2 #7). These types let TypeScript check that usage.
|
||||
|
||||
export type ConnectionType = 'direct' | 'aao_gateway';
|
||||
|
||||
export const ALL_ROLES: readonly ['auto', 'fast', 'quality', 'title', 'reflection'];
|
||||
export const CONNECTION_TYPES: readonly ConnectionType[];
|
||||
|
||||
export function parseEndpoint(
|
||||
input: unknown,
|
||||
): { endpoint: string; base: string; error?: undefined } | { error: string; endpoint?: undefined; base?: undefined };
|
||||
|
||||
export interface SnakeWorkerEntry {
|
||||
id: string;
|
||||
connection_type: ConnectionType;
|
||||
endpoint: string;
|
||||
model: string;
|
||||
roles: string[];
|
||||
max_concurrency: number;
|
||||
enabled: boolean;
|
||||
vlm: boolean;
|
||||
api_key?: string;
|
||||
}
|
||||
|
||||
export interface CamelWorkerEntry {
|
||||
id: string;
|
||||
connectionType: ConnectionType;
|
||||
endpoint: string;
|
||||
model: string;
|
||||
roles: string[];
|
||||
maxConcurrency: number;
|
||||
enabled: boolean;
|
||||
vlm: boolean;
|
||||
apiKey?: string;
|
||||
}
|
||||
|
||||
export interface BuildWorkerArgs {
|
||||
connectionType: ConnectionType;
|
||||
endpoint: string;
|
||||
model: string;
|
||||
apiKey?: string;
|
||||
}
|
||||
|
||||
export function buildWorkerEntry(args: BuildWorkerArgs): SnakeWorkerEntry;
|
||||
export function buildLlmWorkerCamel(args: BuildWorkerArgs): CamelWorkerEntry;
|
||||
|
||||
export function isLlmConfigured(
|
||||
workers: ReadonlyArray<{ enabled?: boolean; endpoint?: unknown; model?: unknown } | null | undefined> | unknown,
|
||||
): boolean;
|
||||
|
||||
export function renderConfigYaml(worker: SnakeWorkerEntry): string;
|
||||
export function renderDotenv(existingText: string | undefined, opts: { port: number | string }): string;
|
||||
|
||||
export function parseAnswersFromEnv(
|
||||
env: Record<string, string | undefined>,
|
||||
): { answers: Record<string, unknown>; error?: undefined } | { error: string; answers?: undefined };
|
||||
|
||||
export interface ProbeArgs {
|
||||
endpoint: string;
|
||||
base: string;
|
||||
apiKey?: string;
|
||||
fetchImpl?: typeof fetch;
|
||||
timeoutMs?: number;
|
||||
}
|
||||
|
||||
export function probeModels(
|
||||
args: ProbeArgs,
|
||||
): Promise<{ ok: boolean; models: string[]; error?: string }>;
|
||||
Reference in New Issue
Block a user