@builder.io/ai-utils 0.31.1 → 0.32.1

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.31.1",
3
+ "version": "0.32.1",
4
4
  "description": "Builder.io AI utils",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/codegen.d.ts CHANGED
@@ -92,6 +92,8 @@ export interface DevServerControlInput {
92
92
  }
93
93
  export interface DevServerLogsInput {
94
94
  }
95
+ export interface DevServerRestartInput {
96
+ }
95
97
  export interface BashToolInput {
96
98
  command?: string | null;
97
99
  timeout?: number | null;
@@ -222,6 +224,8 @@ export interface WebFetchToolInput {
222
224
  export interface ExplorationMetadataToolInput {
223
225
  category?: "reusable_knowledge" | "one_off" | "bad_quality";
224
226
  gif_id?: string;
227
+ timeline_id?: string;
228
+ recording_id?: string;
225
229
  important_files: {
226
230
  file_path: string;
227
231
  relevance?: "high" | "medium" | "low";
@@ -242,6 +246,58 @@ export interface ReadMcpResourceToolInput {
242
246
  export interface RecordFrameToolInput {
243
247
  title: string;
244
248
  frame: "last-image";
249
+ category?: TimelineEventCategory;
250
+ description?: string;
251
+ }
252
+ export type TestOutcome = "succeeded" | "couldnt_verify" | "failed" | "other";
253
+ export interface ReportTestOutcomeToolInput {
254
+ outcome: TestOutcome;
255
+ summary: string;
256
+ details?: string;
257
+ }
258
+ export type TimelineEventCategory = "navigation" | "interaction" | "assertion" | "error" | "milestone" | "code-change" | "observation";
259
+ export interface TimelineEvent {
260
+ id: number;
261
+ timestamp: number;
262
+ label: string;
263
+ category: TimelineEventCategory;
264
+ description?: string;
265
+ toolName?: string;
266
+ frameIndex?: number;
267
+ durationMs?: number;
268
+ thinking?: string;
269
+ }
270
+ export interface TimelineFrameMetadata {
271
+ index: number;
272
+ timestamp: number;
273
+ title: string;
274
+ category: TimelineEventCategory;
275
+ eventId: number;
276
+ explicit: boolean;
277
+ displayDurationMs: number;
278
+ fileName?: string;
279
+ image_url?: string;
280
+ cursorX?: number | null;
281
+ cursorY?: number | null;
282
+ viewportWidth?: number;
283
+ viewportHeight?: number;
284
+ }
285
+ export interface TimelineRecording {
286
+ version: 1;
287
+ sessionId: string;
288
+ startTime: number;
289
+ endTime: number;
290
+ totalFrames: number;
291
+ events: TimelineEvent[];
292
+ frames: TimelineFrameMetadata[];
293
+ testOutcome?: TestOutcome;
294
+ testSummary?: string;
295
+ testDetails?: string;
296
+ uiIssues?: Array<{
297
+ title: string;
298
+ description: string;
299
+ debugInfo?: string;
300
+ }>;
245
301
  }
246
302
  /**
247
303
  * Configuration values proposed by the setup analyzer agent
@@ -452,8 +508,8 @@ export interface ProposeConfigParams {
452
508
  isMicrofrontend?: boolean;
453
509
  setupNeedsCredentials?: boolean;
454
510
  devServerNeedsCredentials?: boolean;
455
- projectDescription?: string;
456
511
  needsVPN?: boolean;
512
+ projectDescription?: string;
457
513
  }
458
514
  export interface VerifySetupCommandToolInput {
459
515
  command: string;
@@ -481,6 +537,11 @@ export interface VerifyRuntimeDependencyToolInput {
481
537
  version: string;
482
538
  source?: string;
483
539
  }
540
+ export interface ProposeEnvVariableToolInput {
541
+ key: string;
542
+ value: string;
543
+ secret?: boolean;
544
+ }
484
545
  export interface SetEnvVariableToolInput {
485
546
  key: string;
486
547
  value: string;
@@ -529,6 +590,7 @@ export interface SubmitPRReviewToolInput {
529
590
  /** SubmitRecording - Visual verification with recording (posted as separate review) */
530
591
  export interface SubmitRecordingToolInput {
531
592
  gif_id: string;
593
+ timeline_id?: string;
532
594
  recording_caption: string;
533
595
  summary?: string;
534
596
  comments?: PRReviewComment[];
@@ -585,6 +647,7 @@ export interface CodeGenToolMap {
585
647
  Glob: GlobSearchToolInput;
586
648
  DevServerControl: DevServerControlInput;
587
649
  DevServerLogs: DevServerLogsInput;
650
+ DevServerRestart: DevServerRestartInput;
588
651
  Revert: RevertToolInput;
589
652
  TodoRead: TodoReadToolInput;
590
653
  TodoWrite: TodoWriteToolInput;
@@ -604,11 +667,13 @@ export interface CodeGenToolMap {
604
667
  ResolveQAComments: ResolveQACommentsToolInput;
605
668
  ReportUIIssue: ReportUIIssueToolInput;
606
669
  ReportIssue: ReportIssueToolInput;
670
+ ReportTestOutcome: ReportTestOutcomeToolInput;
607
671
  VerifySetupCommand: VerifySetupCommandToolInput;
608
672
  VerifyDevCommand: VerifyDevCommandToolInput;
609
673
  VerifyDevServer: VerifyDevServerToolInput;
610
674
  VerifyValidateCommand: VerifyValidateCommandToolInput;
611
675
  VerifyRuntimeDependency: VerifyRuntimeDependencyToolInput;
676
+ ProposeEnvVariable: ProposeEnvVariableToolInput;
612
677
  SetEnvVariable: SetEnvVariableToolInput;
613
678
  SendMessage: SendMessageToolInput;
614
679
  SpawnBranch: SpawnBranchToolInput;
@@ -1121,6 +1186,8 @@ export interface GenerateCompletionStepProposeConfig {
1121
1186
  type: "propose_config";
1122
1187
  config: SetupAnalysisValues;
1123
1188
  message?: string;
1189
+ /** When true, the project requires no dependency installation. The UI should not show an Apply dialog for dependencies. */
1190
+ noDependencies?: boolean;
1124
1191
  }
1125
1192
  export interface GenerateCompletionStepUpdateSetupValue {
1126
1193
  type: "update_setup_value";
package/src/events.d.ts CHANGED
@@ -493,6 +493,14 @@ export declare const ClientDevtoolsSessionStartedEvent: {
493
493
  eventName: "client.devtools.session.started";
494
494
  version: "1";
495
495
  };
496
+ export type ClientDevtoolsSessionIdleEventV1 = FusionEventVariant<"client.devtools.session.idle", {
497
+ sessionId?: string;
498
+ lastMessage?: string;
499
+ }, {}, 1>;
500
+ export declare const ClientDevtoolsSessionIdleEventV1: {
501
+ eventName: "client.devtools.session.idle";
502
+ version: "1";
503
+ };
496
504
  export type FusionProjectCreatedV1 = FusionEventVariant<"fusion.project.created", {
497
505
  projectId: string;
498
506
  branchName?: string;
@@ -546,7 +554,7 @@ export interface SendMessageToOrgAgentInput {
546
554
  senderDisplayName?: string;
547
555
  messageContext?: string;
548
556
  }
549
- export type FusionEvent = AiTaskCompletedEvent | AiTaskFailedEvent | GitPrCreatedEvent | ClientDevtoolsSessionStartedEvent | FusionProjectCreatedV1 | SetupAgentCompletedV1 | ForceSetupAgentV1 | ClawMessageSentV1;
557
+ export type FusionEvent = AiTaskCompletedEvent | AiTaskFailedEvent | GitPrCreatedEvent | ClientDevtoolsSessionStartedEvent | ClientDevtoolsSessionIdleEventV1 | FusionProjectCreatedV1 | SetupAgentCompletedV1 | ForceSetupAgentV1 | ClawMessageSentV1;
550
558
  export interface ModelPermissionRequiredEvent {
551
559
  type: "assistant.model.permission.required";
552
560
  data: {
package/src/events.js CHANGED
@@ -14,6 +14,10 @@ export const ClientDevtoolsSessionStartedEvent = {
14
14
  eventName: "client.devtools.session.started",
15
15
  version: "1",
16
16
  };
17
+ export const ClientDevtoolsSessionIdleEventV1 = {
18
+ eventName: "client.devtools.session.idle",
19
+ version: "1",
20
+ };
17
21
  export const FusionProjectCreatedV1 = {
18
22
  eventName: "fusion.project.created",
19
23
  version: "1",