UNPKG

@builder.io/dev-tools

Version:

Builder.io Visual CMS Devtools

80 lines (79 loc) 5.17 kB
import type { DevToolsSys } from "../../core"; import { type Credentials } from "../credentials"; export { getCustomInstructions } from "./rules-discovery"; import type { CodeGenInputOptions, CodegenSetLastCompletion, CodegenTurn, GenerateCodeEvent, GenerateUserMessage, GetSessionTurnsResult, UserContext, WorkspaceConfiguration, EnvironmentVariable, PushChangesArgs, GenerateCompletionStepDevServerState, FusionConfig } from "$/ai-utils"; import type { SessionContext } from "../codegen"; import type { DevServerOrchestrator } from "../launch/dev-server-orchestrator"; export declare const DEFAULT_MAX_COMPLETIONS = 30; /** * Merges and deduplicates items by name. * Built-in items come first, discovered items can override them by name. * @param builtIn - Built-in items * @param discovered - Discovered items from project * @returns Deduplicated array with discovered overriding built-in */ export declare function mergeByName<T extends { name: string; }>(builtIn: T[], discovered: T[]): T[]; export declare function getLastGoodTurn(sessionContext: SessionContext): CodegenTurn | undefined; export declare function getLastUserTurn(sessionContext: SessionContext): CodegenTurn | undefined; export declare function getLastApplyResultsTurn(sessionContext: SessionContext): CodegenTurn | undefined; export declare function getLastOne<T>(array: T[]): T | undefined; export declare function inPlaceRemovePendingTurns(turns: CodegenTurn[]): void; export declare function restoreConsumedCredit(sys: DevToolsSys, credentials: Credentials, sessionId: string, restoreCredits: number): Promise<void>; /** * Analyzes the payload to identify what's making it large */ export declare function analyzePayloadBreakdown(body: CodeGenInputOptions, jsonString: string): Record<string, any>; export declare function completionStream(sys: DevToolsSys, credentials: Credentials, body: CodeGenInputOptions, signal: AbortSignal): AsyncGenerator<GenerateCodeEvent, void, unknown>; export declare function codegenEndpoint(sys: DevToolsSys, credentials: Credentials, endpoint: string, body: Record<string, any>): Promise<boolean>; export declare function setLastCompletionOfSession(sys: DevToolsSys, credentials: Credentials, data: CodegenSetLastCompletion, _verbose: boolean): Promise<boolean>; export declare function getTurnsBySessionId(sys: DevToolsSys, credentials: Credentials, sessionId: string, linear: boolean, completionIdCursor?: string): Promise<GetSessionTurnsResult>; export declare const parseCLIURL: (url: string | undefined) => { id: undefined; isInitial: boolean; } | { isInitial: boolean; id: string; }; export declare function getUserContext(sys: DevToolsSys, gitWorkingDirectory?: string): Promise<UserContext>; export declare function makeAsyncIterator<T>(): readonly [AsyncGenerator<T, void, void>, (event: T) => void, () => void]; export declare function isAGENTSFile(filePath: string): boolean; export declare function isBaseImportantFile(filePath: string, recommendedRootDir: string): boolean; export declare function hasBuildError(text: string): boolean; /** * Loads a workspace configuration from a JSON file * @param sys DevToolsSys instance * @param workspaceFile Path to the workspace JSON file * @returns The workspace configuration and working directory */ export declare function loadWorkspace(sys: DevToolsSys, workspaceFile: string): Promise<{ workspace: WorkspaceConfiguration; workingDirectory: string; }>; export declare function mergeMessages(messages: GenerateUserMessage[]): GenerateUserMessage; export declare function mergeUserMessages(currentMessage: GenerateUserMessage, newMessage: GenerateUserMessage): GenerateUserMessage; export declare function keepAlive(): () => void; export declare function parseAheadBehind(line: string): { ahead: number; behind: number; }; export declare class BashError extends Error { readonly code: number | string | undefined; readonly stdout: string; readonly stderr: string; readonly command: string; constructor(command: string, code: number | string | undefined, stdout: string, stderr: string, opts?: { cause?: Error; }); } export declare function mergeEnvironmentVariables(envVariables: EnvironmentVariable[], extraEnvVariables: EnvironmentVariable[]): EnvironmentVariable[]; export declare function processPushChangesArgs(opts: PushChangesArgs): import("$/ai-utils").PushChangesOptions; export declare function getErrorMessage(err: unknown): string; export declare function waitImmediate(): Promise<void>; export declare function abortPromise<T extends Promise<any> | undefined>(promise: T, signal: AbortSignal | undefined): T; export declare function waitRace(promise: Promise<any>, timeout: number): Promise<boolean>; export declare function newAbortError(): Error; export declare function getDevServerStep(devServer: DevServerOrchestrator, fusionConfig: FusionConfig | undefined): GenerateCompletionStepDevServerState; export declare function moveArrayElement<T>(arr: T[], old_index: number, new_index: number): T[]; export declare function computeRecommendedRootDir(workspace: WorkspaceConfiguration | undefined): string;