@builder.io/ai-utils 0.26.1 → 0.26.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/ai-utils",
3
- "version": "0.26.1",
3
+ "version": "0.26.3",
4
4
  "description": "Builder.io AI utils",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/codegen.d.ts CHANGED
@@ -395,6 +395,8 @@ export interface ProposedConfig {
395
395
  isMicrofrontend?: boolean;
396
396
  setupNeedsCredentials?: boolean;
397
397
  devServerNeedsCredentials?: boolean;
398
+ cost?: number;
399
+ durationMs?: number;
398
400
  }
399
401
  /**
400
402
  * Parameters for proposing a configuration to the backend
@@ -630,6 +632,12 @@ export interface CodeGenInputOptions {
630
632
  * vs cloud/container mode. Used to determine git auto-commit behavior.
631
633
  */
632
634
  isLocal?: boolean;
635
+ /**
636
+ * Optional factory function to wrap the MCP client with custom behavior
637
+ * Used by Editor AI to add permission checks for model operations
638
+ * @internal
639
+ */
640
+ _mcpClientWrapperFactory?: (realClient: any) => any;
633
641
  maxAgentLoops?: number;
634
642
  maxAgentTiming?: number;
635
643
  /**
@@ -1314,7 +1322,24 @@ export interface GenerateCodeEventMCPAuthRequired {
1314
1322
  servers: Array<MCPAuthRequiredServer>;
1315
1323
  message: string;
1316
1324
  }
1317
- export type GenerateCodeEvent = ActionItem | GenerateCodeEventDone | GenerateCodeEventContinue | GenerateCodeEventPagination | GenerateCodeEventDelta | GenerateCodeEventError | GenerateCodeEventPing | GenerateCodeEventMCPStatus | GenerateCodeEventMCPAuthRequired | GenerateCodeEventUser;
1325
+ export interface GenerateCodeEventModelPermissionRequired {
1326
+ type: "model-permission-required";
1327
+ id: string;
1328
+ operation: "create_model" | "update_model";
1329
+ toolName: string;
1330
+ toolInput: Record<string, any>;
1331
+ modelName: string;
1332
+ details: {
1333
+ modelType?: string;
1334
+ fields?: Array<{
1335
+ name: string;
1336
+ type: string;
1337
+ required?: boolean;
1338
+ }>;
1339
+ changes?: string[];
1340
+ };
1341
+ }
1342
+ export type GenerateCodeEvent = ActionItem | GenerateCodeEventDone | GenerateCodeEventContinue | GenerateCodeEventPagination | GenerateCodeEventDelta | GenerateCodeEventError | GenerateCodeEventPing | GenerateCodeEventMCPStatus | GenerateCodeEventMCPAuthRequired | GenerateCodeEventModelPermissionRequired | GenerateCodeEventUser;
1318
1343
  export type CommitMode = "commits" | "draft-prs" | "prs";
1319
1344
  export interface GitBackupDownloadUrlResult {
1320
1345
  signedUrl: string;
package/src/events.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { AssistantMessage, AssistantMessageAction } from "./messages.js";
3
3
  import type { AssistantSettings } from "./settings.js";
4
4
  import type { ExitState } from "./codegen.js";
5
5
  export type BuilderAssistantEventHandler = (ev: BuilderAssistantEvent) => void;
6
- export type BuilderAssistantEvent = AssistantCompletionResultEvent | AssistantErrorEvent | AssistantStreamErrorEvent | AppCloseEvent | AppMessagesClickEvent | AppMessagesGenerationEvent | AppMessageEditCustomInstructionsEvent | AppPromptAbortEvent | AppPromptFocusEvent | AppPromptSubmitEvent | AppReadyEvent | AppSettingsSetEvent | AppThreadNewEvent | AssistantStatsEvent | AssistantThemeEvent | BuilderEditorAuthEvent | BuilderEditorStateEvent | ContentUpdateEvent | ContentApplySnapshotEvent | ModelUndoEvent | ModelRedoEvent | ResultEvent | ThreadCreatedEvent | ThreadMessageCompletedEvent | ThreadMessageCreatedEvent | ThreadMessageDeltaEvent | ThreadMessageFeedbackEvent | ThreadRunStepCreatedEvent | ThreadRunStepDeltaEvent | AppAcceptChangeEvent | AppAcceptRejectEvent | AssistantTrackEvent | AssistantEditorAuthMessage | AppAttachmentTemplateEvent | AppPasteSmartExportEvent | ThreadMessageRetryEvent | AppFigmaImportEvent | AppWebImportEvent | AppMcpServersEvent | AssistantContentInitialEvent | ThreadMessageSummaryEvent | ThreadMessageSummaryCodegenDeltaEvent | ThreadMessageThinkingDeltaEvent | AssistantHeartbeatEvent | ShowUpgradeDialogEvent | AssistantFusionSuggestionEvent | AppNavigateToFusionEvent;
6
+ export type BuilderAssistantEvent = AssistantCompletionResultEvent | AssistantErrorEvent | AssistantStreamErrorEvent | AppCloseEvent | AppMessagesClickEvent | AppMessagesGenerationEvent | AppMessageEditCustomInstructionsEvent | AppPromptAbortEvent | AppPromptFocusEvent | AppPromptSubmitEvent | AppReadyEvent | AppSettingsSetEvent | AppThreadNewEvent | AssistantStatsEvent | AssistantThemeEvent | BuilderEditorAuthEvent | BuilderEditorStateEvent | ContentUpdateEvent | ContentApplySnapshotEvent | ModelUndoEvent | ModelRedoEvent | ResultEvent | ThreadCreatedEvent | ThreadMessageCompletedEvent | ThreadMessageCreatedEvent | ThreadMessageDeltaEvent | ThreadMessageFeedbackEvent | ThreadRunStepCreatedEvent | ThreadRunStepDeltaEvent | AppAcceptChangeEvent | AppAcceptRejectEvent | AssistantTrackEvent | AssistantEditorAuthMessage | AppAttachmentTemplateEvent | AppPasteSmartExportEvent | ThreadMessageRetryEvent | AppFigmaImportEvent | AppWebImportEvent | AppMcpServersEvent | AssistantContentInitialEvent | ThreadMessageSummaryEvent | ThreadMessageSummaryCodegenDeltaEvent | ThreadMessageThinkingDeltaEvent | AssistantHeartbeatEvent | ShowUpgradeDialogEvent | AssistantFusionSuggestionEvent | AppNavigateToFusionEvent | ModelPermissionRequiredEvent | ModelPermissionResponseEvent;
7
7
  export interface AssistantCompletionResultEvent {
8
8
  type: "assistant.result";
9
9
  data: {
@@ -513,4 +513,30 @@ export declare const SetupAgentCompletedV1: {
513
513
  version: "1";
514
514
  };
515
515
  export type FusionEvent = AiTaskCompletedEvent | AiTaskFailedEvent | GitPrCreatedEvent | ClientDevtoolsSessionStartedEvent | FusionProjectCreatedV1 | SetupAgentCompletedV1;
516
+ export interface ModelPermissionRequiredEvent {
517
+ type: "assistant.model.permission.required";
518
+ data: {
519
+ id: string;
520
+ sessionId: string;
521
+ operation: "create_model" | "update_model";
522
+ modelName: string;
523
+ details: {
524
+ modelType?: string;
525
+ fields?: Array<{
526
+ name: string;
527
+ type: string;
528
+ required?: boolean;
529
+ }>;
530
+ changes?: string[];
531
+ };
532
+ };
533
+ }
534
+ export interface ModelPermissionResponseEvent extends AwaitResultEvent {
535
+ type: "assistant.model.permission.response";
536
+ data: {
537
+ id: string;
538
+ approved: boolean;
539
+ reason?: string;
540
+ };
541
+ }
516
542
  export {};
package/src/projects.d.ts CHANGED
@@ -668,6 +668,8 @@ export interface Project {
668
668
  * Defaults to false for backwards compatibility with existing projects.
669
669
  */
670
670
  useBranchesCollection?: boolean;
671
+ /** When true, the project is in code-only mode */
672
+ codeOnlyMode?: boolean;
671
673
  }
672
674
  /**
673
675
  * Get the state of a branch, checking `state` first and falling back to `deleted` for backwards compatibility.
package/src/projects.js CHANGED
@@ -14,6 +14,8 @@ export function getGitProviderFromUrl(url) {
14
14
  return "bitbucket";
15
15
  if (lower.includes("dev.azure.com"))
16
16
  return "azure";
17
+ if (lower.includes("github"))
18
+ return "selfHostedGithub";
17
19
  return "unknown";
18
20
  }
19
21
  catch (_a) {