@builder.io/ai-utils 0.98.0 → 0.100.0

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.98.0",
3
+ "version": "0.100.0",
4
4
  "description": "Builder.io AI utils",
5
5
  "files": [
6
6
  "src"
package/src/codegen.d.ts CHANGED
@@ -374,6 +374,7 @@ export declare const BuilderEditToolInputSchema: z.ZodObject<{
374
374
  filePath: z.ZodString;
375
375
  old_str: z.ZodString;
376
376
  new_str: z.ZodString;
377
+ replace_all: z.ZodOptional<z.ZodBoolean>;
377
378
  activeLocale: z.ZodOptional<z.ZodString>;
378
379
  }, z.core.$strip>;
379
380
  export type BuilderEditToolInput = z.infer<typeof BuilderEditToolInputSchema>;
@@ -1553,6 +1554,7 @@ export declare const CodeGenToolMapSchema: z.ZodObject<{
1553
1554
  filePath: z.ZodString;
1554
1555
  old_str: z.ZodString;
1555
1556
  new_str: z.ZodString;
1557
+ replace_all: z.ZodOptional<z.ZodBoolean>;
1556
1558
  activeLocale: z.ZodOptional<z.ZodString>;
1557
1559
  }, z.core.$strip>;
1558
1560
  WebFetch: z.ZodObject<{
@@ -2166,6 +2168,18 @@ export declare const CodeGenPositionSchema: z.ZodUnion<readonly [z.ZodEnum<{
2166
2168
  unknown: "unknown";
2167
2169
  }>, z.ZodTemplateLiteral<"browser-testing-agent" | "builder-code-agent" | "builder-code-panel-agent" | "builder-publish-integration-agent" | "cli-agent" | "code-review-orchestrator-agent" | "create-app-firebase-agent" | "create-app-lovable-agent" | "design-system-indexer-agent" | "dsi-mcp-agent" | "editor-ai-agent" | "fusion-agent" | "org-agent-agent" | "org-worker-agent" | "project-configuration-agent" | "projects-scheduler-memory-extraction-agent" | "publish-agent-agent" | "repo-indexing-agent" | "setup-project-agent" | "unknown-agent">]>;
2168
2170
  export type CodeGenPosition = z.infer<typeof CodeGenPositionSchema>;
2171
+ export declare const SystemReminderObjSchema: z.ZodObject<{
2172
+ text: z.ZodString;
2173
+ tag: z.ZodOptional<z.ZodString>;
2174
+ ephemeral: z.ZodOptional<z.ZodBoolean>;
2175
+ }, z.core.$strip>;
2176
+ export type SystemReminderObj = z.infer<typeof SystemReminderObjSchema>;
2177
+ export declare const SystemReminderSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2178
+ text: z.ZodString;
2179
+ tag: z.ZodOptional<z.ZodString>;
2180
+ ephemeral: z.ZodOptional<z.ZodBoolean>;
2181
+ }, z.core.$strip>]>;
2182
+ export type SystemReminder = z.infer<typeof SystemReminderSchema>;
2169
2183
  export declare const PublishAgentMessageRequestSchema: z.ZodObject<{
2170
2184
  message: z.ZodOptional<z.ZodString>;
2171
2185
  sessionId: z.ZodOptional<z.ZodString>;
@@ -2180,6 +2194,38 @@ export declare const PublishAgentMessageRequestSchema: z.ZodObject<{
2180
2194
  none: "none";
2181
2195
  xhigh: "xhigh";
2182
2196
  }>>;
2197
+ attachments: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2198
+ type: z.ZodLiteral<"upload">;
2199
+ contentType: z.ZodEnum<{
2200
+ "application/json": "application/json";
2201
+ "application/pdf": "application/pdf";
2202
+ "image/gif": "image/gif";
2203
+ "image/jpeg": "image/jpeg";
2204
+ "image/png": "image/png";
2205
+ "image/webp": "image/webp";
2206
+ "text/plain": "text/plain";
2207
+ }>;
2208
+ name: z.ZodString;
2209
+ dataUrl: z.ZodString;
2210
+ text: z.ZodOptional<z.ZodString>;
2211
+ size: z.ZodNumber;
2212
+ id: z.ZodString;
2213
+ originalUrl: z.ZodOptional<z.ZodString>;
2214
+ ephemeral: z.ZodOptional<z.ZodBoolean>;
2215
+ }, z.core.$strip>, z.ZodObject<{
2216
+ type: z.ZodLiteral<"template">;
2217
+ name: z.ZodString;
2218
+ id: z.ZodNumber;
2219
+ }, z.core.$strip>, z.ZodObject<{
2220
+ type: z.ZodLiteral<"url">;
2221
+ value: z.ZodString;
2222
+ }, z.core.$strip>, z.ZodObject<{
2223
+ type: z.ZodLiteral<"builder">;
2224
+ html: z.ZodString;
2225
+ }, z.core.$strip>, z.ZodObject<{
2226
+ type: z.ZodLiteral<"figma">;
2227
+ html: z.ZodString;
2228
+ }, z.core.$strip>], "type">>>;
2183
2229
  toolResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
2184
2230
  type: z.ZodLiteral<"tool_result">;
2185
2231
  tool_use_id: z.ZodString;
@@ -2253,13 +2299,12 @@ export declare const PublishAgentMessageRequestSchema: z.ZodObject<{
2253
2299
  ephemeral: z.ZodOptional<z.ZodBoolean>;
2254
2300
  structured_result: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2255
2301
  }, z.core.$strip>>>;
2256
- confirmation: z.ZodOptional<z.ZodObject<{
2257
- actionId: z.ZodString;
2258
- decision: z.ZodEnum<{
2259
- approve: "approve";
2260
- reject: "reject";
2261
- }>;
2262
- }, z.core.$strip>>;
2302
+ systemReminders: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2303
+ text: z.ZodString;
2304
+ tag: z.ZodOptional<z.ZodString>;
2305
+ ephemeral: z.ZodOptional<z.ZodBoolean>;
2306
+ }, z.core.$strip>]>>>;
2307
+ skippedMCPs: z.ZodOptional<z.ZodArray<z.ZodString>>;
2263
2308
  }, z.core.$strip>;
2264
2309
  export type PublishAgentMessageRequest = z.infer<typeof PublishAgentMessageRequestSchema>;
2265
2310
  export declare const RepoIndexingConfigSchema: z.ZodObject<{
@@ -2502,18 +2547,6 @@ export declare const AclPolicySchema: z.ZodObject<{
2502
2547
  denyDescription: z.ZodOptional<z.ZodString>;
2503
2548
  }, z.core.$strip>;
2504
2549
  export type AclPolicy = z.infer<typeof AclPolicySchema>;
2505
- export declare const SystemReminderObjSchema: z.ZodObject<{
2506
- text: z.ZodString;
2507
- tag: z.ZodOptional<z.ZodString>;
2508
- ephemeral: z.ZodOptional<z.ZodBoolean>;
2509
- }, z.core.$strip>;
2510
- export type SystemReminderObj = z.infer<typeof SystemReminderObjSchema>;
2511
- export declare const SystemReminderSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2512
- text: z.ZodString;
2513
- tag: z.ZodOptional<z.ZodString>;
2514
- ephemeral: z.ZodOptional<z.ZodBoolean>;
2515
- }, z.core.$strip>]>;
2516
- export type SystemReminder = z.infer<typeof SystemReminderSchema>;
2517
2550
  export declare const CodeGenInputOptionsSchema: z.ZodObject<{
2518
2551
  position: z.ZodUnion<readonly [z.ZodEnum<{
2519
2552
  "browser-testing": "browser-testing";
@@ -2992,10 +3025,9 @@ export type CodeGenInputOptions = z.infer<typeof CodeGenInputOptionsSchema> & {
2992
3025
  /** @internal Derived from BuilderEditorState.components for editor AI. */
2993
3026
  _fieldShapeChecks?: FieldShapeCheck[];
2994
3027
  /**
2995
- * Optional factory function to wrap the MCP client with custom behavior
2996
- * Used by Editor AI to add permission checks for model operations
2997
3028
  * Optional factory function to wrap the MCP client with custom behavior.
2998
- * Used by Editor AI to add permission checks for model operations.
3029
+ * Used by Editor AI (model permission prompts) and the Publish Agent
3030
+ * (the confirmation gate); the caller closes over its own event stream.
2999
3031
  * @internal
3000
3032
  */
3001
3033
  _mcpClientWrapperFactory?: (realClient: any) => any;
@@ -5106,6 +5138,12 @@ export declare const CommitMessageResponseSchema: z.ZodObject<{
5106
5138
  body: z.ZodOptional<z.ZodString>;
5107
5139
  }, z.core.$strip>;
5108
5140
  export type CommitMessageResponse = z.infer<typeof CommitMessageResponseSchema>;
5141
+ /** Where a permission gate is installed. Selects the pub/sub channel an approval is published to. */
5142
+ export declare const PermissionAwarePositionSchema: z.ZodEnum<{
5143
+ "editor-ai": "editor-ai";
5144
+ "publish-agent": "publish-agent";
5145
+ }>;
5146
+ export type PermissionAwarePosition = z.infer<typeof PermissionAwarePositionSchema>;
5109
5147
  /**
5110
5148
  * Request body for `POST /codegen/model-permission-response`. Sent by the
5111
5149
  * frontend to approve or deny a model permission prompt.
@@ -5115,6 +5153,10 @@ export declare const ModelPermissionResponseRequestSchema: z.ZodObject<{
5115
5153
  toolId: z.ZodString;
5116
5154
  approved: z.ZodBoolean;
5117
5155
  reason: z.ZodOptional<z.ZodString>;
5156
+ position: z.ZodOptional<z.ZodEnum<{
5157
+ "editor-ai": "editor-ai";
5158
+ "publish-agent": "publish-agent";
5159
+ }>>;
5118
5160
  }, z.core.$strip>;
5119
5161
  export type ModelPermissionResponseRequest = z.infer<typeof ModelPermissionResponseRequestSchema>;
5120
5162
  export interface TodoItem {
package/src/codegen.js CHANGED
@@ -567,6 +567,9 @@ export const BuilderEditToolInputSchema = z
567
567
  new_str: z.string().meta({
568
568
  description: "New content to replace the old content with",
569
569
  }),
570
+ replace_all: z.boolean().optional().meta({
571
+ description: "Replace every occurrence of old_str instead of only the first. Matches old_str as an exact substring, so it is not restricted to complete lines — use it to change a word repeated throughout a long rich-text body. Only use it when every occurrence should get the same replacement.",
572
+ }),
570
573
  activeLocale: z.string().min(1).optional().meta({
571
574
  description: 'Locale to edit. Use "Default" for the default locale, or one of the configured available locales.',
572
575
  }),
@@ -1777,19 +1780,28 @@ export const CodeGenPositionSchema = z
1777
1780
  z.templateLiteral([BaseCodeGenPositionSchema, "-agent"]),
1778
1781
  ])
1779
1782
  .meta({ title: "CodeGenPosition" });
1783
+ export const SystemReminderObjSchema = z
1784
+ .object({
1785
+ text: z.string(),
1786
+ tag: z.string().optional(),
1787
+ ephemeral: z.boolean().optional(),
1788
+ })
1789
+ .meta({ title: "SystemReminderObj" });
1790
+ export const SystemReminderSchema = z
1791
+ .union([z.string(), SystemReminderObjSchema])
1792
+ .meta({ title: "SystemReminder" });
1780
1793
  export const PublishAgentMessageRequestSchema = z
1781
1794
  .object({
1782
1795
  message: z.string().max(100000).optional(),
1783
1796
  sessionId: z.string().min(1).max(256).optional(),
1784
1797
  modelOverride: z.string().min(1).max(256).optional(),
1785
1798
  reasoning: ReasoningEffortSchema.optional(),
1799
+ attachments: z.array(AttachmentSchema).optional(),
1786
1800
  toolResults: z.array(ContentMessageItemToolResultSchema).optional(),
1787
- confirmation: z
1788
- .object({
1789
- actionId: z.string().min(1).max(256),
1790
- decision: z.enum(["approve", "reject"]),
1791
- })
1792
- .optional(),
1801
+ systemReminders: z.array(SystemReminderSchema).optional(),
1802
+ skippedMCPs: z.array(z.string()).optional().meta({
1803
+ description: "Per-message denylist of MCP server ids to skip, e.g. a 'disable for this session' UI toggle.",
1804
+ }),
1793
1805
  })
1794
1806
  .refine(({ message, toolResults }) => Boolean(message) || Boolean(toolResults === null || toolResults === void 0 ? void 0 : toolResults.length), {
1795
1807
  path: ["message"],
@@ -1940,16 +1952,6 @@ export const AclPolicySchema = z
1940
1952
  }),
1941
1953
  })
1942
1954
  .meta({ title: "AclPolicy" });
1943
- export const SystemReminderObjSchema = z
1944
- .object({
1945
- text: z.string(),
1946
- tag: z.string().optional(),
1947
- ephemeral: z.boolean().optional(),
1948
- })
1949
- .meta({ title: "SystemReminderObj" });
1950
- export const SystemReminderSchema = z
1951
- .union([z.string(), SystemReminderObjSchema])
1952
- .meta({ title: "SystemReminder" });
1953
1955
  // Schema for CodeGenInputOptions. This is `z.looseObject` so unknown / forward-compat
1954
1956
  // fields pass through. Fields marked `@internal` (function values, middleware-set
1955
1957
  // markers) are excluded from the schema and added back via TypeScript intersection
@@ -2274,6 +2276,11 @@ export const CommitMessageResponseSchema = z
2274
2276
  .meta({ description: "Optional extended description" }),
2275
2277
  })
2276
2278
  .meta({ title: "CommitMessageResponse" });
2279
+ /** Where a permission gate is installed. Selects the pub/sub channel an approval is published to. */
2280
+ export const PermissionAwarePositionSchema = z.enum([
2281
+ "editor-ai",
2282
+ "publish-agent",
2283
+ ]);
2277
2284
  /**
2278
2285
  * Request body for `POST /codegen/model-permission-response`. Sent by the
2279
2286
  * frontend to approve or deny a model permission prompt.
@@ -2284,5 +2291,8 @@ export const ModelPermissionResponseRequestSchema = z
2284
2291
  toolId: z.string(),
2285
2292
  approved: z.boolean(),
2286
2293
  reason: z.string().optional(),
2294
+ position: PermissionAwarePositionSchema.optional().meta({
2295
+ description: "Which gate is awaiting this response. Defaults to editor-ai.",
2296
+ }),
2287
2297
  })
2288
2298
  .meta({ title: "ModelPermissionResponseRequest" });
@@ -10,6 +10,7 @@ export declare const EditorAiReadRequestSchema: z.ZodObject<{
10
10
  offset: z.ZodOptional<z.ZodNumber>;
11
11
  limit: z.ZodOptional<z.ZodNumber>;
12
12
  activeLocale: z.ZodOptional<z.ZodString>;
13
+ baseContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
13
14
  }, z.core.$strip>;
14
15
  export type EditorAiReadRequest = z.infer<typeof EditorAiReadRequestSchema>;
15
16
  export declare const EditorAiReadResponseSchema: z.ZodObject<{
@@ -25,11 +26,13 @@ export declare const EditorAiEditRequestSchema: z.ZodObject<{
25
26
  contentId: z.ZodString;
26
27
  old_str: z.ZodString;
27
28
  new_str: z.ZodString;
29
+ replace_all: z.ZodOptional<z.ZodBoolean>;
28
30
  activeLocale: z.ZodOptional<z.ZodString>;
29
31
  components: z.ZodOptional<z.ZodArray<z.ZodObject<{
30
32
  name: z.ZodString;
31
33
  }, z.core.$loose>>>;
32
34
  allowedComponentNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
+ baseContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
33
36
  }, z.core.$strip>;
34
37
  export type EditorAiEditRequest = z.infer<typeof EditorAiEditRequestSchema>;
35
38
  export declare const EditorAiEditResponseSchema: z.ZodObject<{
@@ -46,6 +49,7 @@ export declare const EditorAiWriteRequestSchema: z.ZodObject<{
46
49
  name: z.ZodString;
47
50
  }, z.core.$loose>>>;
48
51
  allowedComponentNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
52
+ baseContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
49
53
  }, z.core.$strip>;
50
54
  export type EditorAiWriteRequest = z.infer<typeof EditorAiWriteRequestSchema>;
51
55
  export declare const EditorAiWriteResponseSchema: z.ZodObject<{
package/src/editor-ai.js CHANGED
@@ -16,6 +16,9 @@ const componentsField = z.array(EditorAiComponentSchema).optional();
16
16
  // Omitted is unrestricted; empty forbids every component. Only components-only
17
17
  // spaces send it.
18
18
  const allowedComponentNamesField = z.array(z.string().min(1)).optional();
19
+ // Edit this instead of the stored document, letting a caller work on an
20
+ // unpublished revision. Ownership still checked against stored. Blocks decoded.
21
+ const baseContentField = z.record(z.string(), z.unknown()).optional();
19
22
  export const EditorAiReadRequestSchema = z
20
23
  .object({
21
24
  contentId: z.string().min(1),
@@ -23,6 +26,7 @@ export const EditorAiReadRequestSchema = z
23
26
  limit: z.number().int().min(1).max(EDITOR_AI_READ_MAX_LIMIT).optional(),
24
27
  // Locale to operate on; defaults to "Default" when omitted.
25
28
  activeLocale: z.string().min(1).optional(),
29
+ baseContent: baseContentField,
26
30
  })
27
31
  .meta({ title: "EditorAiReadRequest" });
28
32
  export const EditorAiReadResponseSchema = z
@@ -45,10 +49,13 @@ export const EditorAiEditRequestSchema = z
45
49
  message: "old_str must not be only whitespace",
46
50
  }),
47
51
  new_str: z.string(),
52
+ // Exact-substring replace of every occurrence, skipping the fuzzy line diff.
53
+ replace_all: z.boolean().optional(),
48
54
  // Locale to operate on; defaults to "Default" when omitted.
49
55
  activeLocale: z.string().min(1).optional(),
50
56
  components: componentsField,
51
57
  allowedComponentNames: allowedComponentNamesField,
58
+ baseContent: baseContentField,
52
59
  })
53
60
  .meta({ title: "EditorAiEditRequest" });
54
61
  export const EditorAiEditResponseSchema = z
@@ -66,6 +73,7 @@ export const EditorAiWriteRequestSchema = z
66
73
  activeLocale: z.string().min(1).optional(),
67
74
  components: componentsField,
68
75
  allowedComponentNames: allowedComponentNamesField,
76
+ baseContent: baseContentField,
69
77
  })
70
78
  .meta({ title: "EditorAiWriteRequest" });
71
79
  export const EditorAiWriteResponseSchema = z
package/src/events.d.ts CHANGED
@@ -4,7 +4,7 @@ import type { AssistantSettings } from "./settings.js";
4
4
  import type { ExitState, UserSource, CodeGenPosition, ReviewSeverity, ReviewVerdict, AskUserQuestion } from "./codegen.js";
5
5
  import type { FileUpload } from "./messages.js";
6
6
  import type { BuilderConfigRealtime } from "./builder-config.js";
7
- import type { DeployFailureReport } from "./projects.js";
7
+ import type { DeployFailureReport, ShapeQuestionDecision } from "./projects.js";
8
8
  export type BuilderAssistantEventHandler = (ev: BuilderAssistantEvent) => void;
9
9
  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 | AssistantQuestionRequiredEvent;
10
10
  export interface AssistantCompletionResultEvent {
@@ -742,6 +742,31 @@ export declare const FusionProjectCreatedV1: {
742
742
  eventName: "fusion.project.created";
743
743
  version: "1";
744
744
  };
745
+ export type FusionShapeIssuedV1 = FusionEventVariant<"fusion.shape.issued", {
746
+ projectId: string;
747
+ questionnaireId: string;
748
+ initialPromptId: string;
749
+ catalogVersion: string;
750
+ issuedAt: string;
751
+ }, {}, 1>;
752
+ export declare const FusionShapeIssuedV1: {
753
+ eventName: "fusion.shape.issued";
754
+ version: "1";
755
+ };
756
+ export type FusionShapeAssembledV1 = FusionEventVariant<"fusion.shape.assembled", {
757
+ projectId: string;
758
+ questionnaireId: string;
759
+ catalogVersion: string;
760
+ durationMs: number;
761
+ selection: "llm" | "fallback";
762
+ selectedQuestionIds: string[];
763
+ decisions: ShapeQuestionDecision[];
764
+ assembledAt: string;
765
+ }, {}, 1>;
766
+ export declare const FusionShapeAssembledV1: {
767
+ eventName: "fusion.shape.assembled";
768
+ version: "1";
769
+ };
745
770
  export type SetupAgentCompletedV1 = FusionEventVariant<"fusion.setup.completed", {
746
771
  proposedConfigId: string;
747
772
  projectId: string;
@@ -1373,7 +1398,7 @@ export declare const HostingCustomDomainDelegationCheckV1: {
1373
1398
  eventName: "hosting.custom-domain.delegation-check";
1374
1399
  version: "1";
1375
1400
  };
1376
- export type FusionEvent = ClientDevtoolsSessionStartedEvent | ClientDevtoolsSessionIdleEventV1 | ClientDevtoolsToolCallRequestV1 | ClientDevtoolsToolCallV1 | ClientDevtoolsToolResultV1 | ClientDevtoolsBuildMigratedV1 | ClientDevtoolsBuildCompletedV1 | ClientDevtoolsBuildUploadedV1 | ClientDevtoolsBuildFailedV1 | FusionProjectCreatedV1 | SetupAgentCompletedV1 | GitPrMergedV1 | GitPrCreatedV1 | GitPrClosedV1 | ForceSetupAgentV1 | ClawMessageSentV1 | CodegenCompletionV1 | CodegenUserPromptV1 | GitWebhooksRegisterV1 | FusionProjectSettingsUpdatedV1 | VideoRecordingCompletedV1 | TimelineRecordingReadyV1 | FusionBranchCreatedV1 | FusionContainerStartedV1 | FusionContainerFailedV1 | FusionBranchFailedV1 | BotMentionGitHubExternalPrV1 | BotMentionGitHubInternalPrV1 | BotMentionGitLabPrV1 | BotMentionBitbucketPrV1 | BotMentionAzurePrV1 | ReviewSubmittedV1 | PrReviewRequestedV1 | FigmaDecodeJobV1 | ProjectSnapshotRefreshV1 | ProjectSnapshotCapturedV1 | ProjectSnapshotCreatedV1 | ProjectSnapshotFailedV1 | ProjectSnapshotReadyCheckV1 | ProjectSnapshotPodWatchV1 | McpPrototypePulledV1 | HostingCustomDomainCertCheckV1 | HostingCustomDomainServingCheckV1 | HostingCustomDomainDelegationCheckV1;
1401
+ export type FusionEvent = ClientDevtoolsSessionStartedEvent | ClientDevtoolsSessionIdleEventV1 | ClientDevtoolsToolCallRequestV1 | ClientDevtoolsToolCallV1 | ClientDevtoolsToolResultV1 | ClientDevtoolsBuildMigratedV1 | ClientDevtoolsBuildCompletedV1 | ClientDevtoolsBuildUploadedV1 | ClientDevtoolsBuildFailedV1 | FusionProjectCreatedV1 | FusionShapeIssuedV1 | FusionShapeAssembledV1 | SetupAgentCompletedV1 | GitPrMergedV1 | GitPrCreatedV1 | GitPrClosedV1 | ForceSetupAgentV1 | ClawMessageSentV1 | CodegenCompletionV1 | CodegenUserPromptV1 | GitWebhooksRegisterV1 | FusionProjectSettingsUpdatedV1 | VideoRecordingCompletedV1 | TimelineRecordingReadyV1 | FusionBranchCreatedV1 | FusionContainerStartedV1 | FusionContainerFailedV1 | FusionBranchFailedV1 | BotMentionGitHubExternalPrV1 | BotMentionGitHubInternalPrV1 | BotMentionGitLabPrV1 | BotMentionBitbucketPrV1 | BotMentionAzurePrV1 | ReviewSubmittedV1 | PrReviewRequestedV1 | FigmaDecodeJobV1 | ProjectSnapshotRefreshV1 | ProjectSnapshotCapturedV1 | ProjectSnapshotCreatedV1 | ProjectSnapshotFailedV1 | ProjectSnapshotReadyCheckV1 | ProjectSnapshotPodWatchV1 | McpPrototypePulledV1 | HostingCustomDomainCertCheckV1 | HostingCustomDomainServingCheckV1 | HostingCustomDomainDelegationCheckV1;
1377
1402
  export interface ModelPermissionRequiredEvent {
1378
1403
  type: "assistant.model.permission.required";
1379
1404
  data: {
package/src/events.js CHANGED
@@ -46,6 +46,14 @@ export const FusionProjectCreatedV1 = {
46
46
  eventName: "fusion.project.created",
47
47
  version: "1",
48
48
  };
49
+ export const FusionShapeIssuedV1 = {
50
+ eventName: "fusion.shape.issued",
51
+ version: "1",
52
+ };
53
+ export const FusionShapeAssembledV1 = {
54
+ eventName: "fusion.shape.assembled",
55
+ version: "1",
56
+ };
49
57
  export const SetupAgentCompletedV1 = {
50
58
  eventName: "fusion.setup.completed",
51
59
  version: "1",