@builder.io/ai-utils 0.99.0 → 0.100.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.99.0",
3
+ "version": "0.100.1",
4
4
  "description": "Builder.io AI utils",
5
5
  "files": [
6
6
  "src"
package/src/codegen.d.ts CHANGED
@@ -385,8 +385,21 @@ export declare const GetScreenshotToolInputSchema: z.ZodObject<{
385
385
  height: z.ZodOptional<z.ZodNumber>;
386
386
  }, z.core.$strip>;
387
387
  export type GetScreenshotToolInput = z.infer<typeof GetScreenshotToolInputSchema>;
388
+ /**
389
+ * `projectId` and `routedBy` are telemetry only and never reach the model or
390
+ * the classification path — they exist so an audit of real traffic
391
+ * (`scripts/judge-safety-audit.ts`) can say which project a verdict belonged
392
+ * to and whether the legacy ACL would have blocked the command. Both are
393
+ * optional because a pod running an older dev-tools build won't send them.
394
+ */
388
395
  export declare const JudgeCommandSafetyInputSchema: z.ZodObject<{
389
396
  command: z.ZodString;
397
+ projectId: z.ZodOptional<z.ZodString>;
398
+ routedBy: z.ZodOptional<z.ZodEnum<{
399
+ "allowlist-miss": "allowlist-miss";
400
+ "network-client": "network-client";
401
+ tier2: "tier2";
402
+ }>>;
390
403
  }, z.core.$strip>;
391
404
  export type JudgeCommandSafetyInput = z.infer<typeof JudgeCommandSafetyInputSchema>;
392
405
  export declare const JudgeCommandSafetyResultSchema: z.ZodObject<{
@@ -2168,6 +2181,18 @@ export declare const CodeGenPositionSchema: z.ZodUnion<readonly [z.ZodEnum<{
2168
2181
  unknown: "unknown";
2169
2182
  }>, 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">]>;
2170
2183
  export type CodeGenPosition = z.infer<typeof CodeGenPositionSchema>;
2184
+ export declare const SystemReminderObjSchema: z.ZodObject<{
2185
+ text: z.ZodString;
2186
+ tag: z.ZodOptional<z.ZodString>;
2187
+ ephemeral: z.ZodOptional<z.ZodBoolean>;
2188
+ }, z.core.$strip>;
2189
+ export type SystemReminderObj = z.infer<typeof SystemReminderObjSchema>;
2190
+ export declare const SystemReminderSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2191
+ text: z.ZodString;
2192
+ tag: z.ZodOptional<z.ZodString>;
2193
+ ephemeral: z.ZodOptional<z.ZodBoolean>;
2194
+ }, z.core.$strip>]>;
2195
+ export type SystemReminder = z.infer<typeof SystemReminderSchema>;
2171
2196
  export declare const PublishAgentMessageRequestSchema: z.ZodObject<{
2172
2197
  message: z.ZodOptional<z.ZodString>;
2173
2198
  sessionId: z.ZodOptional<z.ZodString>;
@@ -2182,6 +2207,38 @@ export declare const PublishAgentMessageRequestSchema: z.ZodObject<{
2182
2207
  none: "none";
2183
2208
  xhigh: "xhigh";
2184
2209
  }>>;
2210
+ attachments: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2211
+ type: z.ZodLiteral<"upload">;
2212
+ contentType: z.ZodEnum<{
2213
+ "application/json": "application/json";
2214
+ "application/pdf": "application/pdf";
2215
+ "image/gif": "image/gif";
2216
+ "image/jpeg": "image/jpeg";
2217
+ "image/png": "image/png";
2218
+ "image/webp": "image/webp";
2219
+ "text/plain": "text/plain";
2220
+ }>;
2221
+ name: z.ZodString;
2222
+ dataUrl: z.ZodString;
2223
+ text: z.ZodOptional<z.ZodString>;
2224
+ size: z.ZodNumber;
2225
+ id: z.ZodString;
2226
+ originalUrl: z.ZodOptional<z.ZodString>;
2227
+ ephemeral: z.ZodOptional<z.ZodBoolean>;
2228
+ }, z.core.$strip>, z.ZodObject<{
2229
+ type: z.ZodLiteral<"template">;
2230
+ name: z.ZodString;
2231
+ id: z.ZodNumber;
2232
+ }, z.core.$strip>, z.ZodObject<{
2233
+ type: z.ZodLiteral<"url">;
2234
+ value: z.ZodString;
2235
+ }, z.core.$strip>, z.ZodObject<{
2236
+ type: z.ZodLiteral<"builder">;
2237
+ html: z.ZodString;
2238
+ }, z.core.$strip>, z.ZodObject<{
2239
+ type: z.ZodLiteral<"figma">;
2240
+ html: z.ZodString;
2241
+ }, z.core.$strip>], "type">>>;
2185
2242
  toolResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
2186
2243
  type: z.ZodLiteral<"tool_result">;
2187
2244
  tool_use_id: z.ZodString;
@@ -2255,13 +2312,12 @@ export declare const PublishAgentMessageRequestSchema: z.ZodObject<{
2255
2312
  ephemeral: z.ZodOptional<z.ZodBoolean>;
2256
2313
  structured_result: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2257
2314
  }, z.core.$strip>>>;
2258
- confirmation: z.ZodOptional<z.ZodObject<{
2259
- actionId: z.ZodString;
2260
- decision: z.ZodEnum<{
2261
- approve: "approve";
2262
- reject: "reject";
2263
- }>;
2264
- }, z.core.$strip>>;
2315
+ systemReminders: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2316
+ text: z.ZodString;
2317
+ tag: z.ZodOptional<z.ZodString>;
2318
+ ephemeral: z.ZodOptional<z.ZodBoolean>;
2319
+ }, z.core.$strip>]>>>;
2320
+ skippedMCPs: z.ZodOptional<z.ZodArray<z.ZodString>>;
2265
2321
  }, z.core.$strip>;
2266
2322
  export type PublishAgentMessageRequest = z.infer<typeof PublishAgentMessageRequestSchema>;
2267
2323
  export declare const RepoIndexingConfigSchema: z.ZodObject<{
@@ -2504,18 +2560,6 @@ export declare const AclPolicySchema: z.ZodObject<{
2504
2560
  denyDescription: z.ZodOptional<z.ZodString>;
2505
2561
  }, z.core.$strip>;
2506
2562
  export type AclPolicy = z.infer<typeof AclPolicySchema>;
2507
- export declare const SystemReminderObjSchema: z.ZodObject<{
2508
- text: z.ZodString;
2509
- tag: z.ZodOptional<z.ZodString>;
2510
- ephemeral: z.ZodOptional<z.ZodBoolean>;
2511
- }, z.core.$strip>;
2512
- export type SystemReminderObj = z.infer<typeof SystemReminderObjSchema>;
2513
- export declare const SystemReminderSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2514
- text: z.ZodString;
2515
- tag: z.ZodOptional<z.ZodString>;
2516
- ephemeral: z.ZodOptional<z.ZodBoolean>;
2517
- }, z.core.$strip>]>;
2518
- export type SystemReminder = z.infer<typeof SystemReminderSchema>;
2519
2563
  export declare const CodeGenInputOptionsSchema: z.ZodObject<{
2520
2564
  position: z.ZodUnion<readonly [z.ZodEnum<{
2521
2565
  "browser-testing": "browser-testing";
@@ -2994,10 +3038,9 @@ export type CodeGenInputOptions = z.infer<typeof CodeGenInputOptionsSchema> & {
2994
3038
  /** @internal Derived from BuilderEditorState.components for editor AI. */
2995
3039
  _fieldShapeChecks?: FieldShapeCheck[];
2996
3040
  /**
2997
- * Optional factory function to wrap the MCP client with custom behavior
2998
- * Used by Editor AI to add permission checks for model operations
2999
3041
  * Optional factory function to wrap the MCP client with custom behavior.
3000
- * Used by Editor AI to add permission checks for model operations.
3042
+ * Used by Editor AI (model permission prompts) and the Publish Agent
3043
+ * (the confirmation gate); the caller closes over its own event stream.
3001
3044
  * @internal
3002
3045
  */
3003
3046
  _mcpClientWrapperFactory?: (realClient: any) => any;
@@ -5108,6 +5151,12 @@ export declare const CommitMessageResponseSchema: z.ZodObject<{
5108
5151
  body: z.ZodOptional<z.ZodString>;
5109
5152
  }, z.core.$strip>;
5110
5153
  export type CommitMessageResponse = z.infer<typeof CommitMessageResponseSchema>;
5154
+ /** Where a permission gate is installed. Selects the pub/sub channel an approval is published to. */
5155
+ export declare const PermissionAwarePositionSchema: z.ZodEnum<{
5156
+ "editor-ai": "editor-ai";
5157
+ "publish-agent": "publish-agent";
5158
+ }>;
5159
+ export type PermissionAwarePosition = z.infer<typeof PermissionAwarePositionSchema>;
5111
5160
  /**
5112
5161
  * Request body for `POST /codegen/model-permission-response`. Sent by the
5113
5162
  * frontend to approve or deny a model permission prompt.
@@ -5117,6 +5166,10 @@ export declare const ModelPermissionResponseRequestSchema: z.ZodObject<{
5117
5166
  toolId: z.ZodString;
5118
5167
  approved: z.ZodBoolean;
5119
5168
  reason: z.ZodOptional<z.ZodString>;
5169
+ position: z.ZodOptional<z.ZodEnum<{
5170
+ "editor-ai": "editor-ai";
5171
+ "publish-agent": "publish-agent";
5172
+ }>>;
5120
5173
  }, z.core.$strip>;
5121
5174
  export type ModelPermissionResponseRequest = z.infer<typeof ModelPermissionResponseRequestSchema>;
5122
5175
  export interface TodoItem {
package/src/codegen.js CHANGED
@@ -583,6 +583,13 @@ export const GetScreenshotToolInputSchema = z
583
583
  height: z.number().optional(),
584
584
  })
585
585
  .meta({ title: "GetScreenshotToolInput" });
586
+ /**
587
+ * `projectId` and `routedBy` are telemetry only and never reach the model or
588
+ * the classification path — they exist so an audit of real traffic
589
+ * (`scripts/judge-safety-audit.ts`) can say which project a verdict belonged
590
+ * to and whether the legacy ACL would have blocked the command. Both are
591
+ * optional because a pod running an older dev-tools build won't send them.
592
+ */
586
593
  export const JudgeCommandSafetyInputSchema = z
587
594
  .object({
588
595
  // Bounded so a caller can't force multi-megabyte payloads through this
@@ -591,6 +598,18 @@ export const JudgeCommandSafetyInputSchema = z
591
598
  command: z.string().max(20000).meta({
592
599
  description: "The shell command to classify.",
593
600
  }),
601
+ projectId: z.string().max(200).optional().meta({
602
+ description: "Diagnostic only: the Fusion project the command was run in. Never used in classification.",
603
+ }),
604
+ // Reported as a single value with the client's own precedence — a command
605
+ // can trip more than one of these, and only the first two mean the legacy
606
+ // ACL would have denied it.
607
+ routedBy: z
608
+ .enum(["tier2", "allowlist-miss", "network-client"])
609
+ .optional()
610
+ .meta({
611
+ description: "Diagnostic only: why the sandbox sent this command to the judge. Never used in classification.",
612
+ }),
594
613
  })
595
614
  .meta({ title: "JudgeCommandSafetyInput" });
596
615
  export const JudgeCommandSafetyResultSchema = z
@@ -1780,19 +1799,28 @@ export const CodeGenPositionSchema = z
1780
1799
  z.templateLiteral([BaseCodeGenPositionSchema, "-agent"]),
1781
1800
  ])
1782
1801
  .meta({ title: "CodeGenPosition" });
1802
+ export const SystemReminderObjSchema = z
1803
+ .object({
1804
+ text: z.string(),
1805
+ tag: z.string().optional(),
1806
+ ephemeral: z.boolean().optional(),
1807
+ })
1808
+ .meta({ title: "SystemReminderObj" });
1809
+ export const SystemReminderSchema = z
1810
+ .union([z.string(), SystemReminderObjSchema])
1811
+ .meta({ title: "SystemReminder" });
1783
1812
  export const PublishAgentMessageRequestSchema = z
1784
1813
  .object({
1785
1814
  message: z.string().max(100000).optional(),
1786
1815
  sessionId: z.string().min(1).max(256).optional(),
1787
1816
  modelOverride: z.string().min(1).max(256).optional(),
1788
1817
  reasoning: ReasoningEffortSchema.optional(),
1818
+ attachments: z.array(AttachmentSchema).optional(),
1789
1819
  toolResults: z.array(ContentMessageItemToolResultSchema).optional(),
1790
- confirmation: z
1791
- .object({
1792
- actionId: z.string().min(1).max(256),
1793
- decision: z.enum(["approve", "reject"]),
1794
- })
1795
- .optional(),
1820
+ systemReminders: z.array(SystemReminderSchema).optional(),
1821
+ skippedMCPs: z.array(z.string()).optional().meta({
1822
+ description: "Per-message denylist of MCP server ids to skip, e.g. a 'disable for this session' UI toggle.",
1823
+ }),
1796
1824
  })
1797
1825
  .refine(({ message, toolResults }) => Boolean(message) || Boolean(toolResults === null || toolResults === void 0 ? void 0 : toolResults.length), {
1798
1826
  path: ["message"],
@@ -1943,16 +1971,6 @@ export const AclPolicySchema = z
1943
1971
  }),
1944
1972
  })
1945
1973
  .meta({ title: "AclPolicy" });
1946
- export const SystemReminderObjSchema = z
1947
- .object({
1948
- text: z.string(),
1949
- tag: z.string().optional(),
1950
- ephemeral: z.boolean().optional(),
1951
- })
1952
- .meta({ title: "SystemReminderObj" });
1953
- export const SystemReminderSchema = z
1954
- .union([z.string(), SystemReminderObjSchema])
1955
- .meta({ title: "SystemReminder" });
1956
1974
  // Schema for CodeGenInputOptions. This is `z.looseObject` so unknown / forward-compat
1957
1975
  // fields pass through. Fields marked `@internal` (function values, middleware-set
1958
1976
  // markers) are excluded from the schema and added back via TypeScript intersection
@@ -2277,6 +2295,11 @@ export const CommitMessageResponseSchema = z
2277
2295
  .meta({ description: "Optional extended description" }),
2278
2296
  })
2279
2297
  .meta({ title: "CommitMessageResponse" });
2298
+ /** Where a permission gate is installed. Selects the pub/sub channel an approval is published to. */
2299
+ export const PermissionAwarePositionSchema = z.enum([
2300
+ "editor-ai",
2301
+ "publish-agent",
2302
+ ]);
2280
2303
  /**
2281
2304
  * Request body for `POST /codegen/model-permission-response`. Sent by the
2282
2305
  * frontend to approve or deny a model permission prompt.
@@ -2287,5 +2310,8 @@ export const ModelPermissionResponseRequestSchema = z
2287
2310
  toolId: z.string(),
2288
2311
  approved: z.boolean(),
2289
2312
  reason: z.string().optional(),
2313
+ position: PermissionAwarePositionSchema.optional().meta({
2314
+ description: "Which gate is awaiting this response. Defaults to editor-ai.",
2315
+ }),
2290
2316
  })
2291
2317
  .meta({ title: "ModelPermissionResponseRequest" });
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,62 @@ 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
+ };
770
+ export type FusionShapeResolvedV1 = FusionEventVariant<"fusion.shape.resolved", {
771
+ projectId: string;
772
+ questionnaireId: string;
773
+ catalogVersion: string;
774
+ resolvedAt: string;
775
+ }, {}, 1>;
776
+ export declare const FusionShapeResolvedV1: {
777
+ eventName: "fusion.shape.resolved";
778
+ version: "1";
779
+ };
780
+ type FusionShapeQuestionEventData = {
781
+ projectId: string;
782
+ questionnaireId: string;
783
+ catalogVersion: string;
784
+ questionId: string;
785
+ chosenOptionId: string;
786
+ skipped: boolean;
787
+ delegated: boolean;
788
+ llmOptionId?: string;
789
+ guessOptionId?: string;
790
+ };
791
+ export type FusionShapeQuestionAnsweredV1 = FusionEventVariant<"fusion.shape.question.answered", FusionShapeQuestionEventData, {}, 1>;
792
+ export declare const FusionShapeQuestionAnsweredV1: {
793
+ eventName: "fusion.shape.question.answered";
794
+ version: "1";
795
+ };
796
+ export type FusionShapeQuestionSkippedV1 = FusionEventVariant<"fusion.shape.question.skipped", FusionShapeQuestionEventData, {}, 1>;
797
+ export declare const FusionShapeQuestionSkippedV1: {
798
+ eventName: "fusion.shape.question.skipped";
799
+ version: "1";
800
+ };
745
801
  export type SetupAgentCompletedV1 = FusionEventVariant<"fusion.setup.completed", {
746
802
  proposedConfigId: string;
747
803
  projectId: string;
@@ -1373,7 +1429,7 @@ export declare const HostingCustomDomainDelegationCheckV1: {
1373
1429
  eventName: "hosting.custom-domain.delegation-check";
1374
1430
  version: "1";
1375
1431
  };
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;
1432
+ export type FusionEvent = ClientDevtoolsSessionStartedEvent | ClientDevtoolsSessionIdleEventV1 | ClientDevtoolsToolCallRequestV1 | ClientDevtoolsToolCallV1 | ClientDevtoolsToolResultV1 | ClientDevtoolsBuildMigratedV1 | ClientDevtoolsBuildCompletedV1 | ClientDevtoolsBuildUploadedV1 | ClientDevtoolsBuildFailedV1 | FusionProjectCreatedV1 | FusionShapeIssuedV1 | FusionShapeAssembledV1 | FusionShapeResolvedV1 | FusionShapeQuestionAnsweredV1 | FusionShapeQuestionSkippedV1 | 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
1433
  export interface ModelPermissionRequiredEvent {
1378
1434
  type: "assistant.model.permission.required";
1379
1435
  data: {
package/src/events.js CHANGED
@@ -46,6 +46,26 @@ 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
+ };
57
+ export const FusionShapeResolvedV1 = {
58
+ eventName: "fusion.shape.resolved",
59
+ version: "1",
60
+ };
61
+ export const FusionShapeQuestionAnsweredV1 = {
62
+ eventName: "fusion.shape.question.answered",
63
+ version: "1",
64
+ };
65
+ export const FusionShapeQuestionSkippedV1 = {
66
+ eventName: "fusion.shape.question.skipped",
67
+ version: "1",
68
+ };
49
69
  export const SetupAgentCompletedV1 = {
50
70
  eventName: "fusion.setup.completed",
51
71
  version: "1",