builder.io 1.13.1 → 1.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -56,6 +56,7 @@ export interface ToolContext extends Partial<FusionContext> {
56
56
  workspaceFolder?: WorkspaceFolder;
57
57
  };
58
58
  absolutePathToWorkspaceUrl: (absolutePath: string) => string | undefined;
59
+ setHasPlanToApply: (value: boolean) => void;
59
60
  workspaceFolders: Array<{
60
61
  path: string;
61
62
  name?: string;
@@ -1,6 +1,6 @@
1
1
  import type { DevToolsSys } from "../types";
2
2
  import { type Credentials } from "./credentials";
3
- import type { CodegenFeedback, CodeGenToolMap, CodegenTurn, CustomInstruction, FusionConfig, GenerateCompletionState, GenerateCompletionStep, GenerateCompletionStepGit, GenerateUserMessage, UserContext, WorkspaceConfiguration, WorkspaceFolder, LoadWholeSessionOptions, LoadWholeSessionResult, LoadHistoryResult, CodeGenMode, ApplyActionsResult, PrivacyMode, CodeGenPosition, BackupGitRepoResult, PushChangesArgs, CodegenApiResult, CodegenApiTerminal, ConfigureDevOrchestratorOpts, ConfigureDevOrchestratorUpdates, RepoMetrics } from "$/ai-utils";
3
+ import type { CodegenFeedback, CodeGenToolMap, CodegenTurn, CustomInstruction, FusionConfig, GenerateCompletionState, GenerateCompletionStep, GenerateCompletionStepGit, GenerateUserMessage, SessionMode, UserContext, WorkspaceConfiguration, WorkspaceFolder, LoadWholeSessionOptions, LoadWholeSessionResult, LoadHistoryResult, CodeGenMode, ApplyActionsResult, PrivacyMode, CodeGenPosition, BackupGitRepoResult, PushChangesArgs, CodegenApiResult, CodegenApiTerminal, ConfigureDevOrchestratorOpts, ConfigureDevOrchestratorUpdates, RepoMetrics } from "$/ai-utils";
4
4
  import prettier from "prettier";
5
5
  import { type FusionContext, type ToolResolution } from "./code-tools";
6
6
  import EventEmitter from "node:events";
@@ -17,6 +17,7 @@ export interface SessionContext {
17
17
  createdUnixTime: number;
18
18
  updatedUnixTime: number;
19
19
  canLoadMore: boolean;
20
+ sessionMode: SessionMode;
20
21
  }
21
22
  export interface CodeGenSessionOptionsBase {
22
23
  sys: DevToolsSys;
@@ -50,6 +51,8 @@ export declare class CodeGenSession {
50
51
  get fusionConfig(): FusionConfig | undefined;
51
52
  get gitEnabledFolder(): WorkspaceFolder | undefined;
52
53
  get workingDirectory(): string;
54
+ getSessionMode(): SessionMode;
55
+ switchSessionMode(newMode: SessionMode): Promise<void>;
53
56
  setPrivacyMode(privacyMode: PrivacyMode | undefined): Promise<void>;
54
57
  initializeSession(opts?: {
55
58
  skipSessionLoading?: boolean;
@@ -78,7 +81,7 @@ export declare class CodeGenSession {
78
81
  /**
79
82
  * Get the current commit hash
80
83
  */
81
- getCurrentCommitHash(): Promise<string | undefined>;
84
+ getCurrentCommitHash(branchName?: string): Promise<string | undefined>;
82
85
  getCurrentBranch(): Promise<string>;
83
86
  /**
84
87
  * Get the feature branch name
@@ -186,7 +189,7 @@ export declare class CodeGenSession {
186
189
  lastTurnHasChanges(): Promise<boolean>;
187
190
  waitUntilState(state: GenerateCompletionState, timeout?: number): Promise<void>;
188
191
  clearSession(): Promise<void>;
189
- sendMessage(message: GenerateUserMessage, immediate?: boolean): Promise<void>;
192
+ sendMessage(message: GenerateUserMessage): Promise<void>;
190
193
  getTurns(): CodegenTurn[];
191
194
  getSessionContext(): SessionContext;
192
195
  runSetupCommand(): Promise<import("$/ai-utils").SetupCommandResult | undefined>;
@@ -1,6 +1,6 @@
1
1
  import type { DevToolsSys } from "@builder.io/dev-tools/core";
2
2
  import type { ProxyMiddleware } from "../../types/proxy-middleware";
3
- import type { DevCommandState, EnvironmentVariable, HttpServerState, SetupCommandResult } from "$/ai-utils";
3
+ import type { DevCommandResult, DevCommandState, EnvironmentVariable, HttpServerState, SetupCommandResult } from "$/ai-utils";
4
4
  import EventEmitter from "events";
5
5
  import { ChildProcess } from "node:child_process";
6
6
  import type { FusionConfig, SetupCommandState } from "$/ai-utils";
@@ -53,7 +53,7 @@ export interface DevServerOrchestrator {
53
53
  setupCommandPromise: Promise<SetupCommandResult> | undefined;
54
54
  runSetupCommand: (signal?: AbortSignal) => Promise<SetupCommandResult>;
55
55
  setSetupCommand: (newCommand: string | undefined, forceRestart?: boolean, signal?: AbortSignal) => Promise<SetupCommandResult | null>;
56
- setDevCommand: (newCommand: string | undefined, forceRestart?: boolean, signal?: AbortSignal) => Promise<boolean>;
56
+ setDevCommand: (newCommand: string | undefined, forceRestart?: boolean, signal?: AbortSignal) => Promise<DevCommandResult>;
57
57
  setProxyServer: (newProxyServer: string) => Promise<boolean>;
58
58
  setPort: (newPort: number) => Promise<boolean>;
59
59
  setAutoDetectSettings: (enabled: boolean, patterns?: string[]) => Promise<boolean>;
@@ -68,7 +68,7 @@ export interface DevServerOrchestrator {
68
68
  getSetupOutput: () => string;
69
69
  waitUntilIdle: (initialWaitMs?: number, idleTimeMs?: number) => Promise<void>;
70
70
  onClose: (callback: (code: number | null) => void) => void;
71
- restart: (abortSignal?: AbortSignal) => Promise<void>;
71
+ restart: (abortSignal?: AbortSignal) => Promise<DevCommandResult>;
72
72
  emitter: EventEmitter<{
73
73
  close: [number | null];
74
74
  stdout: [string];
@@ -17,6 +17,7 @@ export interface MCPServerStdioDefinition {
17
17
  command: string;
18
18
  args?: string[];
19
19
  env?: Record<string, string>;
20
+ envFile?: string;
20
21
  }
21
22
  export interface MCPConfig {
22
23
  mcpServers: Record<string, Omit<MCPServerStdioDefinition, "name">>;
@@ -65,6 +66,11 @@ export interface LocalMCPClientManager {
65
66
  * Create a local MCP client manager from server definitions
66
67
  */
67
68
  export declare function createLocalMCPClientManager(servers: MCPServerStdioDefinition[], sys: DevToolsSys, workingDirectory: string, signal?: AbortSignal): Promise<LocalMCPClientManager>;
69
+ /**
70
+ * Apply environment variable substitution to MCP server configuration
71
+ * This is separated from loadMCPConfig to allow easy unit testing
72
+ */
73
+ export declare function applyEnvSubstitution(serverConfig: Omit<MCPServerStdioDefinition, "name">, name: string, baseEnv: Record<string, string | undefined>, envFileVars: Record<string, string>): MCPServerStdioDefinition;
68
74
  /**
69
75
  * Discover and load MCP configuration from working directory
70
76
  */
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,7 @@
1
1
  import type { Duplex } from "node:stream";
2
2
  import type { IncomingMessage } from "node:http";
3
+ import type { ServerOptions } from "ws";
4
+ import type { WebSocket } from "ws";
3
5
  export type SocketRequest = {
4
6
  id: number;
5
7
  jsonrpc: string;
@@ -26,8 +28,6 @@ export type SocketQueue = {
26
28
  result?: SocketResponse["result"];
27
29
  error?: SocketResponse["error"];
28
30
  };
29
- import type { ServerOptions } from "ws";
30
- import type { WebSocket } from "ws";
31
31
  type RegisterFn<T = any> = (params: T, socketId: string) => Promise<any> | any;
32
32
  type SocketEvents = {
33
33
  listening: () => Promise<void> | void;