@builder.io/ai-utils 0.8.3 → 0.8.5

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.8.3",
3
+ "version": "0.8.5",
4
4
  "description": "Builder.io AI utils",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/codegen.d.ts CHANGED
@@ -105,7 +105,6 @@ export interface FindMediaToolInput {
105
105
  hex_color?: string | null;
106
106
  }
107
107
  export interface MemoryToolInput {
108
- scope: "global" | "user" | "project";
109
108
  memory: string;
110
109
  memory_id?: string | null;
111
110
  when?: string;
@@ -215,6 +214,7 @@ export type CodeGenPosition = BaseCodeGenPosition | `${BaseCodeGenPosition}-agen
215
214
  export interface RepoIndexingConfig {
216
215
  designSystems: string[];
217
216
  }
217
+ export type CodeGenCategory = `repair-${string}` | `user-normal` | `user-figma` | `user-pdf` | `user-image` | `background-${string}` | `indexing-${string}`;
218
218
  export interface CodeGenInputOptions {
219
219
  position: string;
220
220
  eventName?: string;
@@ -268,7 +268,7 @@ export interface CodeGenInputOptions {
268
268
  pingEvents?: boolean;
269
269
  forceCompact?: boolean;
270
270
  hadPagination?: boolean;
271
- repair?: boolean;
271
+ category?: CodeGenCategory;
272
272
  metadata?: Record<string, any>;
273
273
  searchResponse?: any | null;
274
274
  prettierConfig?: PrettierOptions;
@@ -280,6 +280,8 @@ export interface CodeGenInputOptions {
280
280
  prevId?: string;
281
281
  /** @deprecated */
282
282
  vcpId?: string;
283
+ /** @deprecated */
284
+ repair?: boolean;
283
285
  }
284
286
  export type CodeGenErrorCodes = "credits-limit-daily" | "credits-limit-monthly" | "credits-limit-other" | "cli-genetic-error" | "git-update-error" | "prompt-too-long" | "context-too-long" | "abrupt-end" | "unknown" | "failed-recover-state" | "ask-to-continue" | "bad-initial-url" | "invalid-last-message" | "corrupted-session" | "assertion" | "rate-limit" | "unknown-design-system";
285
287
  export type Feature = "component-mapping";
@@ -655,8 +657,10 @@ export interface GenerateUserMessage {
655
657
  modelOverride?: string;
656
658
  maxCompletions?: number;
657
659
  isManualContinue?: boolean;
658
- repair?: boolean;
660
+ category?: CodeGenCategory;
659
661
  metadata?: Record<string, any>;
662
+ /** @deprecated */
663
+ repair?: boolean;
660
664
  }
661
665
  export interface UserInput {
662
666
  userMessage: GenerateUserMessage | undefined;
@@ -670,6 +674,8 @@ export interface UserInput {
670
674
  user: UserSource;
671
675
  patchFusionConfig?: Partial<FusionConfig> | undefined;
672
676
  modelOverride?: string;
677
+ category?: CodeGenCategory;
678
+ /** @deprecated */
673
679
  repair?: boolean;
674
680
  }
675
681
  export interface CodegenTurn {
package/src/messages.d.ts CHANGED
@@ -64,6 +64,8 @@ export interface ContentMessageItemThinking {
64
64
  type: "thinking";
65
65
  thinking: string;
66
66
  signature: string;
67
+ source?: "openai" | "gemini";
68
+ id?: string;
67
69
  }
68
70
  export interface ContentMessageItemRedactedThinking {
69
71
  type: "redacted_thinking";
@@ -74,6 +76,7 @@ export interface ContentMessageItemRedactedThinking {
74
76
  export interface ContentMessageItemToolUse {
75
77
  type: "tool_use";
76
78
  id: string;
79
+ provider_id?: string;
77
80
  input: unknown;
78
81
  completion?: string;
79
82
  thoughtSignature?: string;
@@ -17,6 +17,7 @@ interface OrganizationSettings {
17
17
  enforceMaxUsers?: boolean;
18
18
  ssoRestrictedMode?: boolean;
19
19
  isUserPluginIntegrationRequestGranted?: boolean;
20
+ shopify?: boolean;
20
21
  githubEnterpriseSetupValue?: GithubEnterpriseSetupValue;
21
22
  }
22
23
  interface RoleOptions {
@@ -51,6 +52,259 @@ export interface ProjectRole {
51
52
  modifyProjectSettings?: boolean;
52
53
  };
53
54
  }
55
+ export interface Limits {
56
+ apiCalls: number;
57
+ storage: number;
58
+ users: number;
59
+ customRoles: number;
60
+ /** Pageviews, 1:1 */
61
+ pageviews: number;
62
+ /** Bandwidth limit, in GB */
63
+ bandwidth: number;
64
+ metrics: number;
65
+ entries: number;
66
+ spaces?: number;
67
+ maxUsers?: number;
68
+ minimumUsers?: number;
69
+ pageviewsOverage?: PageviewsOverage;
70
+ bandwidthOverage?: BandwidthOverage;
71
+ usersOverage?: UsersOverage;
72
+ aiGeneration?: number;
73
+ aiGenerationContextWindow?: number;
74
+ aiCredits: number;
75
+ baseAiCredits?: number;
76
+ aiCreditsPerSeat: number;
77
+ codeGenerationsOverage?: CodeGenerationsOverage;
78
+ aiCreditsOverage?: AiCreditsOverage;
79
+ environments?: EnvironmentLimits;
80
+ workflows?: {
81
+ count: number;
82
+ };
83
+ }
84
+ export interface EnvironmentLimits {
85
+ count: number;
86
+ }
87
+ export interface UsersOverage {
88
+ price: number;
89
+ additionalNumberOfUsers: number;
90
+ maxAllowedUsers: number;
91
+ annualPrice?: number;
92
+ }
93
+ export interface PageviewsOverage {
94
+ price: number;
95
+ additionalNumberOfPageviews: number;
96
+ maxAllowedPageviews: number;
97
+ annualPrice?: number;
98
+ }
99
+ export interface BandwidthOverage {
100
+ price: number;
101
+ additionalBandwidth: number;
102
+ maxAllowedBandwidth: number;
103
+ annualPrice?: number;
104
+ }
105
+ export interface CodeGenerationsOverage {
106
+ price: number;
107
+ additionalNumberOfCodeGenerations: number;
108
+ maxAllowedCodeGenerations: number;
109
+ annualPrice: number;
110
+ }
111
+ export interface AiCreditsOverage {
112
+ price: number;
113
+ additionalNumberOfAiCredits: number;
114
+ maxAllowedAiCredits: number;
115
+ annualPrice: number;
116
+ }
117
+ export type PaymentError = "failed" | "unpaid" | "incomplete" | "incomplete_expired";
118
+ export interface CustomPlan extends SubscriptionInfo {
119
+ organizationId: string;
120
+ plan: keyof SubscriptionInfoMap;
121
+ id: string;
122
+ }
123
+ export interface Coupon extends SubscriptionInfo {
124
+ for: "Shopify" | "cms";
125
+ id: string;
126
+ plan: keyof SubscriptionInfoMap;
127
+ }
128
+ export interface FeatureMap {
129
+ abTesting?: boolean;
130
+ metrics?: boolean;
131
+ emailWidgets?: boolean;
132
+ customFonts?: boolean;
133
+ sso?: boolean;
134
+ customTargeting?: boolean;
135
+ basicTargeting?: boolean;
136
+ advancedAnalytics?: boolean;
137
+ heatmaps?: boolean;
138
+ customModels?: boolean;
139
+ prioritySupport?: boolean;
140
+ premiumSLA?: boolean;
141
+ advancedDevTools?: boolean;
142
+ customRoles?: boolean;
143
+ customWorkflows?: boolean;
144
+ userPrice?: number;
145
+ liveChat?: boolean;
146
+ noPageviews?: boolean;
147
+ standardRoles?: boolean;
148
+ enterpriseRoles?: boolean;
149
+ scheduling?: boolean;
150
+ privatePlugins?: boolean;
151
+ analyticsAPI?: boolean;
152
+ customDashboards?: boolean;
153
+ standardSupport?: boolean;
154
+ premiumSupport?: boolean;
155
+ visualEditor?: boolean;
156
+ openSourcePlugins?: boolean;
157
+ versionControl?: boolean;
158
+ customComponents?: boolean;
159
+ visualModels?: boolean;
160
+ autosave?: boolean;
161
+ history?: boolean;
162
+ customDropzones?: boolean;
163
+ hostedDomains?: boolean;
164
+ adminRole?: boolean;
165
+ limitedRoles?: boolean;
166
+ headlessCMS?: boolean;
167
+ freeSupport?: boolean;
168
+ enterpriseContact?: boolean;
169
+ createAndManageContent?: boolean;
170
+ whiteLabel?: boolean;
171
+ templateLibrary?: boolean;
172
+ importFromFigma?: boolean;
173
+ integrations?: boolean;
174
+ sevenDayHistory?: boolean;
175
+ thirtyDayHistory?: boolean;
176
+ ninetyDayHistory?: boolean;
177
+ threeHundredSixtyFiveDayHistory?: boolean;
178
+ unlimitedActivityHistory?: boolean;
179
+ environment?: boolean;
180
+ governance?: boolean;
181
+ commenting?: boolean;
182
+ globalCDN?: boolean;
183
+ imageOptimization?: boolean;
184
+ assetManager?: boolean;
185
+ builtinPlugins?: boolean;
186
+ localization?: boolean;
187
+ pageHierarchy?: boolean;
188
+ spaceLevelCustomInstructions?: boolean;
189
+ allowAiTrainingToggle?: boolean;
190
+ allowAiVisualEditorToggle?: boolean;
191
+ localeGrouping?: boolean;
192
+ componentMapping?: boolean;
193
+ customInstructions?: boolean;
194
+ assignedCsmAndCe?: boolean;
195
+ privateSlackChannel?: boolean;
196
+ useYourOwnLLM?: boolean;
197
+ addOnAiCredits?: boolean;
198
+ vsCodeExtension?: boolean;
199
+ builderMcpServers?: boolean;
200
+ customMcpServers?: boolean;
201
+ localWorkspaces?: boolean;
202
+ remoteWorkspaces?: boolean;
203
+ customDockerImages?: boolean;
204
+ performanceInfrastructure?: boolean;
205
+ previewPasswordProtection?: boolean;
206
+ publicPreviews?: boolean;
207
+ }
208
+ export interface SubscriptionInfo {
209
+ price?: number;
210
+ basePlusSeats?: number;
211
+ doNotDisplayPerUserPricing?: boolean;
212
+ combinePageviewsAndBandwidth?: boolean;
213
+ includeFastCodeGenerationForContextWindow?: boolean;
214
+ annualPrice?: number;
215
+ annualDiscount?: number;
216
+ isAnnual?: boolean;
217
+ name: "free" | "development" | "basic" | "growth" | "enterprise" | "internal" | "partner" | "poc" | "legacy" | "pro";
218
+ limits: Limits;
219
+ features: FeatureMap;
220
+ trialDays?: number;
221
+ body?: string;
222
+ order?: number;
223
+ paymentError?: PaymentError;
224
+ paymentErrorInfo?: any;
225
+ paymentRequiresAction?: boolean;
226
+ hostedInvoiceUrl?: string;
227
+ defaultSpaceFields?: {
228
+ subscription: Subscription;
229
+ subscriptionSettings: SubscriptionInfo;
230
+ };
231
+ isShopifyDevelopment?: boolean;
232
+ blurb?: string;
233
+ enforceMaxUsers?: boolean;
234
+ tagline?: string;
235
+ useLegacyCreditsPlan?: boolean;
236
+ currentBillingPeriodStart?: number;
237
+ currentBillingPeriodEnd?: number;
238
+ upcomingLimits?: {
239
+ effectiveDate: number;
240
+ users?: number;
241
+ bandwidth?: number;
242
+ pageviews?: number;
243
+ aiCredits?: number;
244
+ };
245
+ }
246
+ export type Subscription = keyof SubscriptionInfoMap;
247
+ export interface SubscriptionInfoMap {
248
+ free: SubscriptionInfo;
249
+ business: SubscriptionInfo;
250
+ professional: SubscriptionInfo;
251
+ pro: SubscriptionInfo;
252
+ enterprise: SubscriptionInfo;
253
+ "collective:v1:level1": SubscriptionInfo;
254
+ "collective:v1:level2": SubscriptionInfo;
255
+ "collective:v1:level3": SubscriptionInfo;
256
+ "collective:v1:enterprise": SubscriptionInfo;
257
+ "cms:v1:level1": SubscriptionInfo;
258
+ "cms:v1:level2": SubscriptionInfo;
259
+ "cms:v1:level3": SubscriptionInfo;
260
+ "cms:v1:level4": SubscriptionInfo;
261
+ "cms:v1:level5": SubscriptionInfo;
262
+ "cms:v1:enterprise": SubscriptionInfo;
263
+ "cms:v2:level1": SubscriptionInfo;
264
+ "cms:v2:level2": SubscriptionInfo;
265
+ "cms:v2:level3": SubscriptionInfo;
266
+ "cms:v3:level1": SubscriptionInfo;
267
+ "cms:v3:level2": SubscriptionInfo;
268
+ "cms:v3:level3": SubscriptionInfo;
269
+ "cms:v2:enterprise": SubscriptionInfo;
270
+ "cms:v2:enterprise-internal": SubscriptionInfo;
271
+ "cms:v2:enterprise-partner": SubscriptionInfo;
272
+ "cms:v2:enterprise-poc": SubscriptionInfo;
273
+ "cms:v4:level1": SubscriptionInfo;
274
+ "cms:v4:level2": SubscriptionInfo;
275
+ "cms:v4:level3": SubscriptionInfo;
276
+ "cms:v5:level1": SubscriptionInfo;
277
+ "cms:v5:level2": SubscriptionInfo;
278
+ "cms:v5:level3": SubscriptionInfo;
279
+ "cms:v6:level3": SubscriptionInfo;
280
+ "cms:v7:level1": SubscriptionInfo;
281
+ "cms:v7:level2": SubscriptionInfo;
282
+ "cms:v7:level2-internal": SubscriptionInfo;
283
+ "cms:v7:level3": SubscriptionInfo;
284
+ "cms:v7:level3-internal": SubscriptionInfo;
285
+ "cms:v7.1:level1": SubscriptionInfo;
286
+ "cms:v8:level1": SubscriptionInfo;
287
+ "cms:v8:level2": SubscriptionInfo;
288
+ "cms:v9:level1": SubscriptionInfo;
289
+ "cms:v9:level2": SubscriptionInfo;
290
+ "cms:v10:level1": SubscriptionInfo;
291
+ "cms:v10:level2": SubscriptionInfo;
292
+ "vcp:v1:level1": SubscriptionInfo;
293
+ "vcp:v1:level2": SubscriptionInfo;
294
+ "vcp:v1:enterprise": SubscriptionInfo;
295
+ "vcp:v2:level1": SubscriptionInfo;
296
+ "vcp:v2:level2": SubscriptionInfo;
297
+ "shopify:v1:level1": SubscriptionInfo;
298
+ "shopify:v1:level2": SubscriptionInfo;
299
+ "shopify:v2:level1": SubscriptionInfo;
300
+ "shopify:v2:level2": SubscriptionInfo;
301
+ "shopify:v3:level1": SubscriptionInfo;
302
+ "shopify:v3:level2": SubscriptionInfo;
303
+ "shopify:v4:level2": SubscriptionInfo;
304
+ "shopify:v2:development": SubscriptionInfo;
305
+ "shopify:v3:development": SubscriptionInfo;
306
+ "shopify:v1:enterprise": SubscriptionInfo;
307
+ }
54
308
  interface Role {
55
309
  id?: string;
56
310
  name?: string;
@@ -77,13 +331,15 @@ export interface Organization {
77
331
  hasIntegrated?: string;
78
332
  hasMadeSomethingInteractive?: boolean;
79
333
  settings?: OrganizationSettings;
80
- subscription?: string;
334
+ subscription?: keyof SubscriptionInfoMap;
81
335
  hasImportedFromFigma?: boolean;
82
336
  hasIntegratedFigma?: boolean;
83
337
  roles?: Role[];
84
338
  subscriptionSettings?: string;
85
339
  totalBytesStored?: number;
86
340
  lastUpdateBy?: string | null;
341
+ trialStartDate?: number;
342
+ enterpriseTrialStartDate?: number;
87
343
  enterpriseTrialEndDate?: number;
88
344
  fusionReferrals?: string;
89
345
  githubInstallationIds?: number[];