@builder.io/ai-utils 0.26.1 → 0.26.2

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.2",
4
4
  "description": "Builder.io AI utils",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/codegen.d.ts CHANGED
@@ -630,6 +630,12 @@ export interface CodeGenInputOptions {
630
630
  * vs cloud/container mode. Used to determine git auto-commit behavior.
631
631
  */
632
632
  isLocal?: boolean;
633
+ /**
634
+ * Optional factory function to wrap the MCP client with custom behavior
635
+ * Used by Editor AI to add permission checks for model operations
636
+ * @internal
637
+ */
638
+ _mcpClientWrapperFactory?: (realClient: any) => any;
633
639
  maxAgentLoops?: number;
634
640
  maxAgentTiming?: number;
635
641
  /**
@@ -1314,7 +1320,24 @@ export interface GenerateCodeEventMCPAuthRequired {
1314
1320
  servers: Array<MCPAuthRequiredServer>;
1315
1321
  message: string;
1316
1322
  }
1317
- export type GenerateCodeEvent = ActionItem | GenerateCodeEventDone | GenerateCodeEventContinue | GenerateCodeEventPagination | GenerateCodeEventDelta | GenerateCodeEventError | GenerateCodeEventPing | GenerateCodeEventMCPStatus | GenerateCodeEventMCPAuthRequired | GenerateCodeEventUser;
1323
+ export interface GenerateCodeEventModelPermissionRequired {
1324
+ type: "model-permission-required";
1325
+ id: string;
1326
+ operation: "create_model" | "update_model";
1327
+ toolName: string;
1328
+ toolInput: Record<string, any>;
1329
+ modelName: string;
1330
+ details: {
1331
+ modelType?: string;
1332
+ fields?: Array<{
1333
+ name: string;
1334
+ type: string;
1335
+ required?: boolean;
1336
+ }>;
1337
+ changes?: string[];
1338
+ };
1339
+ }
1340
+ export type GenerateCodeEvent = ActionItem | GenerateCodeEventDone | GenerateCodeEventContinue | GenerateCodeEventPagination | GenerateCodeEventDelta | GenerateCodeEventError | GenerateCodeEventPing | GenerateCodeEventMCPStatus | GenerateCodeEventMCPAuthRequired | GenerateCodeEventModelPermissionRequired | GenerateCodeEventUser;
1318
1341
  export type CommitMode = "commits" | "draft-prs" | "prs";
1319
1342
  export interface GitBackupDownloadUrlResult {
1320
1343
  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) {