@get-bb/plugin-sdk 0.4.88 → 0.4.97

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.
@@ -50,11 +50,16 @@ declare const appSettingsSchema: z$1.ZodObject<{
50
50
  machineGitCredentialsEnabled: z$1.ZodBoolean;
51
51
  machineServerUrl: z$1.ZodNullable<z$1.ZodString>;
52
52
  managedBranchPrefix: z$1.ZodString;
53
+ providerCompletedTurnDisplay: z$1.ZodRecord<z$1.ZodString, z$1.ZodEnum<{
54
+ collapse: "collapse";
55
+ flat: "flat";
56
+ }>>;
53
57
  providerOrder: z$1.ZodArray<z$1.ZodString>;
54
58
  showDiagnosticEvents: z$1.ZodBoolean;
55
59
  showKeyboardHints: z$1.ZodBoolean;
56
60
  steerActiveThreadOnEnter: z$1.ZodBoolean;
57
61
  streamerMode: z$1.ZodBoolean;
62
+ telemetryEnabled: z$1.ZodBoolean;
58
63
  }, z$1.core.$strict>;
59
64
  type AppSettings = z$1.infer<typeof appSettingsSchema>;
60
65
  declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
@@ -63,23 +68,33 @@ declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
63
68
  machineGitCredentialsEnabled: z$1.ZodBoolean;
64
69
  machineServerUrl: z$1.ZodNullable<z$1.ZodString>;
65
70
  managedBranchPrefix: z$1.ZodString;
71
+ providerCompletedTurnDisplay: z$1.ZodRecord<z$1.ZodString, z$1.ZodEnum<{
72
+ collapse: "collapse";
73
+ flat: "flat";
74
+ }>>;
66
75
  providerOrder: z$1.ZodArray<z$1.ZodString>;
67
76
  showDiagnosticEvents: z$1.ZodBoolean;
68
77
  showKeyboardHints: z$1.ZodBoolean;
69
78
  showUnhandledProviderEvents: z$1.ZodOptional<z$1.ZodBoolean>;
70
79
  steerActiveThreadOnEnter: z$1.ZodBoolean;
71
80
  streamerMode: z$1.ZodBoolean;
81
+ telemetryEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
72
82
  }, z$1.core.$strict>, z$1.ZodObject<{
73
83
  defaultMachineAccess: z$1.ZodNullable<z$1.ZodString>;
74
84
  defaultProviderId: z$1.ZodNullable<z$1.ZodString>;
75
85
  machineGitCredentialsEnabled: z$1.ZodBoolean;
76
86
  machineServerUrl: z$1.ZodNullable<z$1.ZodString>;
77
87
  managedBranchPrefix: z$1.ZodString;
88
+ providerCompletedTurnDisplay: z$1.ZodRecord<z$1.ZodString, z$1.ZodEnum<{
89
+ collapse: "collapse";
90
+ flat: "flat";
91
+ }>>;
78
92
  providerOrder: z$1.ZodArray<z$1.ZodString>;
79
93
  showKeyboardHints: z$1.ZodBoolean;
80
94
  showUnhandledProviderEvents: z$1.ZodBoolean;
81
95
  steerActiveThreadOnEnter: z$1.ZodBoolean;
82
96
  streamerMode: z$1.ZodBoolean;
97
+ telemetryEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
83
98
  }, z$1.core.$strict>]>;
84
99
  type AppSettingsUpdate = z$1.infer<typeof appSettingsUpdateSchema>;
85
100
 
@@ -136,7 +151,7 @@ type UiPreferenceEntries = {
136
151
  };
137
152
 
138
153
  declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
139
- command: z$1.ZodEnum<{
154
+ command: z$1.ZodUnion<readonly [z$1.ZodEnum<{
140
155
  "app.back": "app.back";
141
156
  "browser.find": "browser.find";
142
157
  "browser.focusLocation": "browser.focusLocation";
@@ -200,7 +215,7 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
200
215
  "thread.search": "thread.search";
201
216
  "window.new": "window.new";
202
217
  "workspace.openPreferred": "workspace.openPreferred";
203
- }>;
218
+ }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
204
219
  shortcut: z$1.ZodNullable<z$1.ZodObject<{
205
220
  alt: z$1.ZodBoolean;
206
221
  control: z$1.ZodBoolean;
@@ -446,6 +461,7 @@ type Environment = z$1.infer<typeof environmentSchema>;
446
461
  declare const experimentsSchema: z$1.ZodRecord<z$1.ZodEnum<{
447
462
  changelogPreview: "changelogPreview";
448
463
  mobileApp: "mobileApp";
464
+ multiMachinePicker: "multiMachinePicker";
449
465
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
450
466
  timelineWindowing: "timelineWindowing";
451
467
  }>, z$1.ZodBoolean>;
@@ -2549,6 +2565,8 @@ declare const threadEventSchema: z$1.ZodPipe<z$1.ZodUnknown, z$1.ZodUnion<readon
2549
2565
  threadId: z$1.ZodString;
2550
2566
  tokenUsage: z$1.ZodObject<{
2551
2567
  last: z$1.ZodObject<{
2568
+ cacheReadInputTokens: z$1.ZodOptional<z$1.ZodNumber>;
2569
+ cacheWriteInputTokens: z$1.ZodOptional<z$1.ZodNumber>;
2552
2570
  cachedInputTokens: z$1.ZodNumber;
2553
2571
  inputTokens: z$1.ZodNumber;
2554
2572
  outputTokens: z$1.ZodNumber;
@@ -2557,6 +2575,8 @@ declare const threadEventSchema: z$1.ZodPipe<z$1.ZodUnknown, z$1.ZodUnion<readon
2557
2575
  }, z$1.core.$strip>;
2558
2576
  modelContextWindow: z$1.ZodNullable<z$1.ZodNumber>;
2559
2577
  total: z$1.ZodObject<{
2578
+ cacheReadInputTokens: z$1.ZodOptional<z$1.ZodNumber>;
2579
+ cacheWriteInputTokens: z$1.ZodOptional<z$1.ZodNumber>;
2560
2580
  cachedInputTokens: z$1.ZodNumber;
2561
2581
  inputTokens: z$1.ZodNumber;
2562
2582
  outputTokens: z$1.ZodNumber;
@@ -3955,6 +3975,10 @@ declare const providerInfoSchema: z$1.ZodObject<{
3955
3975
  supportsThreadArchive: z$1.ZodBoolean;
3956
3976
  supportsThreadRename: z$1.ZodBoolean;
3957
3977
  }, z$1.core.$strip>;
3978
+ completedTurnDisplay: z$1.ZodEnum<{
3979
+ collapse: "collapse";
3980
+ flat: "flat";
3981
+ }>;
3958
3982
  composerActions: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
3959
3983
  kind: z$1.ZodLiteral<"skills">;
3960
3984
  trigger: z$1.ZodEnum<{
@@ -4204,6 +4228,8 @@ declare const threadQueuedMessageSchema: z$1.ZodObject<{
4204
4228
  kind: z$1.ZodLiteral<"time">;
4205
4229
  }, z$1.core.$strip>, z$1.ZodObject<{
4206
4230
  kind: z$1.ZodLiteral<"thread-busy">;
4231
+ }, z$1.core.$strip>, z$1.ZodObject<{
4232
+ kind: z$1.ZodLiteral<"stopping">;
4207
4233
  }, z$1.core.$strip>, z$1.ZodObject<{
4208
4234
  kind: z$1.ZodLiteral<"turn-starting">;
4209
4235
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -6690,6 +6716,13 @@ declare const hostDaemonCommandRegistry: {
6690
6716
  }, z$1.core.$strict>, z$1.ZodObject<{
6691
6717
  providerCheckpointId: z$1.ZodNullable<z$1.ZodString>;
6692
6718
  }, z$1.core.$strict>, "settled", false>;
6719
+ "thread.storage.delete": HostDaemonCommandDescriptor<"thread.storage.delete", z$1.ZodObject<{
6720
+ environmentId: z$1.ZodString;
6721
+ threadId: z$1.ZodString;
6722
+ type: z$1.ZodLiteral<"thread.storage.delete">;
6723
+ }, z$1.core.$strict>, z$1.ZodObject<{
6724
+ providerCheckpointId: z$1.ZodNullable<z$1.ZodString>;
6725
+ }, z$1.core.$strict>, "settled", false>;
6693
6726
  "thread.goal.clear": HostDaemonCommandDescriptor<"thread.goal.clear", z$1.ZodObject<{
6694
6727
  bridgeLaunch: z$1.ZodObject<{
6695
6728
  capabilities: z$1.ZodObject<{
@@ -9369,6 +9402,21 @@ declare const pluginMarketplaceRefreshResultSchema: z$1.ZodObject<{
9369
9402
  ok: z$1.ZodBoolean;
9370
9403
  }, z$1.core.$strip>;
9371
9404
  type PluginMarketplaceRefreshResult$1 = z$1.infer<typeof pluginMarketplaceRefreshResultSchema>;
9405
+ declare const pluginRpcDiscoveryQuerySchema: z$1.ZodObject<{
9406
+ method: z$1.ZodOptional<z$1.ZodString>;
9407
+ pluginId: z$1.ZodOptional<z$1.ZodString>;
9408
+ }, z$1.core.$strip>;
9409
+ type PluginRpcDiscoveryQuery = z$1.infer<typeof pluginRpcDiscoveryQuerySchema>;
9410
+ declare const publishedPluginRpcMethodSchema: z$1.ZodObject<{
9411
+ displayName: z$1.ZodString;
9412
+ inputSchema: z$1.ZodRecord<z$1.ZodString, z$1.ZodType<JsonValue$1, unknown, z$1.core.$ZodTypeInternals<JsonValue$1, unknown>>>;
9413
+ method: z$1.ZodString;
9414
+ methodDescription: z$1.ZodNullable<z$1.ZodString>;
9415
+ outputSchema: z$1.ZodRecord<z$1.ZodString, z$1.ZodType<JsonValue$1, unknown, z$1.core.$ZodTypeInternals<JsonValue$1, unknown>>>;
9416
+ pluginId: z$1.ZodString;
9417
+ registrationDescription: z$1.ZodNullable<z$1.ZodString>;
9418
+ }, z$1.core.$strip>;
9419
+ type PublishedPluginRpcMethod = z$1.infer<typeof publishedPluginRpcMethodSchema>;
9372
9420
 
9373
9421
  declare const machineEnvironmentReplaceSchema: z$1.ZodObject<{
9374
9422
  variables: z$1.ZodArray<z$1.ZodObject<{
@@ -9444,6 +9492,10 @@ declare const systemExecutionOptionsResponseSchema: z$1.ZodObject<{
9444
9492
  supportsThreadArchive: z$1.ZodBoolean;
9445
9493
  supportsThreadRename: z$1.ZodBoolean;
9446
9494
  }, z$1.core.$strip>;
9495
+ completedTurnDisplay: z$1.ZodEnum<{
9496
+ collapse: "collapse";
9497
+ flat: "flat";
9498
+ }>;
9447
9499
  composerActions: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9448
9500
  kind: z$1.ZodLiteral<"skills">;
9449
9501
  trigger: z$1.ZodEnum<{
@@ -9624,7 +9676,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9624
9676
  customThemes: z$1.ZodArray<z$1.ZodString>;
9625
9677
  dataDir: z$1.ZodString;
9626
9678
  defaultKeybindings: z$1.ZodArray<z$1.ZodObject<{
9627
- command: z$1.ZodEnum<{
9679
+ command: z$1.ZodUnion<readonly [z$1.ZodEnum<{
9628
9680
  "app.back": "app.back";
9629
9681
  "browser.find": "browser.find";
9630
9682
  "browser.focusLocation": "browser.focusLocation";
@@ -9688,7 +9740,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9688
9740
  "thread.search": "thread.search";
9689
9741
  "window.new": "window.new";
9690
9742
  "workspace.openPreferred": "workspace.openPreferred";
9691
- }>;
9743
+ }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
9692
9744
  desktopOnly: z$1.ZodBoolean;
9693
9745
  shortcut: z$1.ZodNullable<z$1.ZodObject<{
9694
9746
  alt: z$1.ZodBoolean;
@@ -9730,6 +9782,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9730
9782
  experiments: z$1.ZodRecord<z$1.ZodEnum<{
9731
9783
  changelogPreview: "changelogPreview";
9732
9784
  mobileApp: "mobileApp";
9785
+ multiMachinePicker: "multiMachinePicker";
9733
9786
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
9734
9787
  timelineWindowing: "timelineWindowing";
9735
9788
  }>, z$1.ZodBoolean>;
@@ -9743,16 +9796,21 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9743
9796
  machineGitCredentialsEnabled: z$1.ZodBoolean;
9744
9797
  machineServerUrl: z$1.ZodNullable<z$1.ZodString>;
9745
9798
  managedBranchPrefix: z$1.ZodString;
9799
+ providerCompletedTurnDisplay: z$1.ZodRecord<z$1.ZodString, z$1.ZodEnum<{
9800
+ collapse: "collapse";
9801
+ flat: "flat";
9802
+ }>>;
9746
9803
  providerOrder: z$1.ZodArray<z$1.ZodString>;
9747
9804
  showDiagnosticEvents: z$1.ZodBoolean;
9748
9805
  showKeyboardHints: z$1.ZodBoolean;
9749
9806
  showUnhandledProviderEvents: z$1.ZodOptional<z$1.ZodBoolean>;
9750
9807
  steerActiveThreadOnEnter: z$1.ZodBoolean;
9751
9808
  streamerMode: z$1.ZodBoolean;
9809
+ telemetryEnabled: z$1.ZodBoolean;
9752
9810
  }, z$1.core.$strict>;
9753
9811
  hostDaemonPort: z$1.ZodNullable<z$1.ZodNumber>;
9754
9812
  keybindingOverrides: z$1.ZodArray<z$1.ZodObject<{
9755
- command: z$1.ZodEnum<{
9813
+ command: z$1.ZodUnion<readonly [z$1.ZodEnum<{
9756
9814
  "app.back": "app.back";
9757
9815
  "browser.find": "browser.find";
9758
9816
  "browser.focusLocation": "browser.focusLocation";
@@ -9816,7 +9874,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9816
9874
  "thread.search": "thread.search";
9817
9875
  "window.new": "window.new";
9818
9876
  "workspace.openPreferred": "workspace.openPreferred";
9819
- }>;
9877
+ }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
9820
9878
  shortcut: z$1.ZodNullable<z$1.ZodObject<{
9821
9879
  alt: z$1.ZodBoolean;
9822
9880
  control: z$1.ZodBoolean;
@@ -9827,7 +9885,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9827
9885
  }, z$1.core.$strict>>;
9828
9886
  }, z$1.core.$strict>>;
9829
9887
  keybindings: z$1.ZodArray<z$1.ZodObject<{
9830
- command: z$1.ZodEnum<{
9888
+ command: z$1.ZodUnion<readonly [z$1.ZodEnum<{
9831
9889
  "app.back": "app.back";
9832
9890
  "browser.find": "browser.find";
9833
9891
  "browser.focusLocation": "browser.focusLocation";
@@ -9891,7 +9949,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9891
9949
  "thread.search": "thread.search";
9892
9950
  "window.new": "window.new";
9893
9951
  "workspace.openPreferred": "workspace.openPreferred";
9894
- }>;
9952
+ }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
9895
9953
  desktopOnly: z$1.ZodBoolean;
9896
9954
  shortcut: z$1.ZodObject<{
9897
9955
  alt: z$1.ZodBoolean;
@@ -11492,6 +11550,10 @@ declare const createThreadRequestSchema: z$1.ZodObject<{
11492
11550
  full: "full";
11493
11551
  }>, z$1.ZodLiteral<"workspace-write">]>, z$1.ZodTransform<"accept-edits" | "auto" | "full", "accept-edits" | "auto" | "full" | "workspace-write">>>;
11494
11552
  pluginMetadata: z$1.ZodOptional<z$1.ZodType<JsonObject, unknown, z$1.core.$ZodTypeInternals<JsonObject, unknown>>>;
11553
+ pluginSubmission: z$1.ZodOptional<z$1.ZodObject<{
11554
+ data: z$1.ZodType<JsonValue$1, unknown, z$1.core.$ZodTypeInternals<JsonValue$1, unknown>>;
11555
+ pluginId: z$1.ZodString;
11556
+ }, z$1.core.$strip>>;
11495
11557
  projectId: z$1.ZodString;
11496
11558
  providerId: z$1.ZodOptional<z$1.ZodString>;
11497
11559
  reasoningLevel: z$1.ZodOptional<z$1.ZodEnum<{
@@ -11868,6 +11930,10 @@ declare const sendMessageRequestSchema: z$1.ZodObject<{
11868
11930
  auto: "auto";
11869
11931
  full: "full";
11870
11932
  }>, z$1.ZodLiteral<"workspace-write">]>, z$1.ZodTransform<"accept-edits" | "auto" | "full", "accept-edits" | "auto" | "full" | "workspace-write">>>;
11933
+ pluginSubmission: z$1.ZodOptional<z$1.ZodObject<{
11934
+ data: z$1.ZodType<JsonValue$1, unknown, z$1.core.$ZodTypeInternals<JsonValue$1, unknown>>;
11935
+ pluginId: z$1.ZodString;
11936
+ }, z$1.core.$strip>>;
11871
11937
  reasoningLevel: z$1.ZodOptional<z$1.ZodEnum<{
11872
11938
  high: "high";
11873
11939
  low: "low";
@@ -12025,6 +12091,8 @@ declare const sendMessageResponseSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObjec
12025
12091
  kind: z$1.ZodLiteral<"time">;
12026
12092
  }, z$1.core.$strip>, z$1.ZodObject<{
12027
12093
  kind: z$1.ZodLiteral<"thread-busy">;
12094
+ }, z$1.core.$strip>, z$1.ZodObject<{
12095
+ kind: z$1.ZodLiteral<"stopping">;
12028
12096
  }, z$1.core.$strip>, z$1.ZodObject<{
12029
12097
  kind: z$1.ZodLiteral<"turn-starting">;
12030
12098
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -12196,6 +12264,8 @@ declare const retryTurnResponseSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<
12196
12264
  kind: z$1.ZodLiteral<"time">;
12197
12265
  }, z$1.core.$strip>, z$1.ZodObject<{
12198
12266
  kind: z$1.ZodLiteral<"thread-busy">;
12267
+ }, z$1.core.$strip>, z$1.ZodObject<{
12268
+ kind: z$1.ZodLiteral<"stopping">;
12199
12269
  }, z$1.core.$strip>, z$1.ZodObject<{
12200
12270
  kind: z$1.ZodLiteral<"turn-starting">;
12201
12271
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -12572,6 +12642,8 @@ declare const sendQueuedMessageResponseSchema: z$1.ZodDiscriminatedUnion<[z$1.Zo
12572
12642
  kind: z$1.ZodLiteral<"time">;
12573
12643
  }, z$1.core.$strip>, z$1.ZodObject<{
12574
12644
  kind: z$1.ZodLiteral<"thread-busy">;
12645
+ }, z$1.core.$strip>, z$1.ZodObject<{
12646
+ kind: z$1.ZodLiteral<"stopping">;
12575
12647
  }, z$1.core.$strip>, z$1.ZodObject<{
12576
12648
  kind: z$1.ZodLiteral<"turn-starting">;
12577
12649
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -13458,6 +13530,8 @@ declare const threadQueuedMessageListResponseSchema: z$1.ZodArray<z$1.ZodObject<
13458
13530
  kind: z$1.ZodLiteral<"time">;
13459
13531
  }, z$1.core.$strip>, z$1.ZodObject<{
13460
13532
  kind: z$1.ZodLiteral<"thread-busy">;
13533
+ }, z$1.core.$strip>, z$1.ZodObject<{
13534
+ kind: z$1.ZodLiteral<"stopping">;
13461
13535
  }, z$1.core.$strip>, z$1.ZodObject<{
13462
13536
  kind: z$1.ZodLiteral<"turn-starting">;
13463
13537
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -13873,6 +13947,10 @@ declare const threadTimelineResponseSchema: z$1.ZodObject<{
13873
13947
  }, z$1.core.$strip>>;
13874
13948
  workflowName: z$1.ZodNullable<z$1.ZodString>;
13875
13949
  }, z$1.core.$strip>>;
13950
+ completedTurnDisplay: z$1.ZodEnum<{
13951
+ collapse: "collapse";
13952
+ flat: "flat";
13953
+ }>;
13876
13954
  contextBoundarySeq: z$1.ZodNullable<z$1.ZodNumber>;
13877
13955
  contextWindowUsage: z$1.ZodOptional<z$1.ZodObject<{
13878
13956
  estimated: z$1.ZodBoolean;
@@ -13966,6 +14044,7 @@ declare const threadTimelineResponseSchema: z$1.ZodObject<{
13966
14044
  anchorId: z$1.ZodString;
13967
14045
  anchorSeq: z$1.ZodNumber;
13968
14046
  }, z$1.core.$strict>>;
14047
+ olderRowsSourceSeqEnd: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
13969
14048
  returnedSegmentCount: z$1.ZodNumber;
13970
14049
  segmentLimit: z$1.ZodNumber;
13971
14050
  }, z$1.core.$strict>;
@@ -14457,6 +14536,14 @@ interface StandardSchemaV1<Input = unknown, Output = Input> {
14457
14536
  readonly version: 1;
14458
14537
  readonly vendor: string;
14459
14538
  readonly validate: (value: unknown) => StandardSchemaV1Result<Output> | Promise<StandardSchemaV1Result<Output>>;
14539
+ readonly jsonSchema?: {
14540
+ readonly input: (options: {
14541
+ target: string;
14542
+ }) => Record<string, unknown>;
14543
+ readonly output: (options: {
14544
+ target: string;
14545
+ }) => Record<string, unknown>;
14546
+ };
14460
14547
  readonly types?: {
14461
14548
  readonly input: Input;
14462
14549
  readonly output: Output;
@@ -14478,6 +14565,7 @@ interface StandardSchemaV1Issue {
14478
14565
  type StandardSchemaV1InferInput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["input"];
14479
14566
  type StandardSchemaV1InferOutput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["output"];
14480
14567
  interface PluginRpcMethodContract<InputSchema extends StandardSchemaV1 = StandardSchemaV1, OutputSchema extends StandardSchemaV1 = StandardSchemaV1> {
14568
+ readonly experimental_description?: string;
14481
14569
  readonly input: InputSchema;
14482
14570
  readonly output: OutputSchema;
14483
14571
  }
@@ -14683,6 +14771,16 @@ interface PluginThreadHeaderActionProps {
14683
14771
  */
14684
14772
  isCompactViewport: boolean;
14685
14773
  }
14774
+ interface ExperimentalPluginBrowserToolbarActionProps {
14775
+ /** Thread that owns the Browser tab. */
14776
+ threadId: string;
14777
+ /** Browser tab currently rendering the action. */
14778
+ tabId: string;
14779
+ /** Current top-level URL shown in the address bar. */
14780
+ url: string;
14781
+ /** True when the Browser chrome needs compact controls. */
14782
+ isCompactViewport: boolean;
14783
+ }
14686
14784
  /**
14687
14785
  * Where a file being opened by a `fileOpener` lives. `path` semantics follow
14688
14786
  * the source: workspace paths are relative to the environment's worktree,
@@ -15406,6 +15504,14 @@ interface PluginThreadHeaderActionRegistration {
15406
15504
  title: string;
15407
15505
  component: ComponentType<PluginThreadHeaderActionProps>;
15408
15506
  }
15507
+ interface ExperimentalPluginBrowserToolbarActionRegistration {
15508
+ /** Unique within the plugin; letters, digits, `-`, `_`. */
15509
+ id: string;
15510
+ /** Accessible name for the host-wrapped control group. */
15511
+ title: string;
15512
+ /** Component rendered beside the Browser address bar. */
15513
+ component: ComponentType<ExperimentalPluginBrowserToolbarActionProps>;
15514
+ }
15409
15515
  /** One pane's place in the split layout, as fractions of the split area. */
15410
15516
  interface PluginSidebarSplitPane {
15411
15517
  paneId: string;
@@ -15618,8 +15724,8 @@ interface PluginMessageActionRegistration {
15618
15724
  */
15619
15725
  run(context: PluginMessageActionContext): void | Promise<void>;
15620
15726
  }
15621
- /** Context handed to a `commandPaletteAction`'s `isAvailable` and `run`. */
15622
- interface PluginCommandPaletteActionContext {
15727
+ /** Current context for palette and keyboard command invocations. */
15728
+ interface PluginCommandContext {
15623
15729
  /** The thread in view, or null on a surface without one. */
15624
15730
  threadId: string | null;
15625
15731
  projectId: string | null;
@@ -15635,27 +15741,49 @@ interface PluginCommandPaletteActionContext {
15635
15741
  */
15636
15742
  openPanel(options: PluginTargetedPanelActionOpenOptions): boolean;
15637
15743
  }
15744
+ /** A default keyboard shortcut. Omitted modifiers are false. */
15745
+ interface PluginCommandShortcut {
15746
+ key: string;
15747
+ /** Command on macOS, Control elsewhere. */
15748
+ mod?: boolean;
15749
+ meta?: boolean;
15750
+ control?: boolean;
15751
+ alt?: boolean;
15752
+ shift?: boolean;
15753
+ }
15638
15754
  /**
15639
- * A row in bb's quick palette (Mod+Shift+P), listed under the plugin's name
15755
+ * A command registered with `app.commands.register`, listed in bb's quick
15756
+ * palette (Mod+Shift+P) under the plugin's name
15640
15757
  * beside bb's own commands. Host-rendered: the plugin supplies a title and
15641
15758
  * `run`, and the host owns matching, ordering, and recency.
15642
15759
  */
15643
- interface PluginCommandPaletteActionRegistration {
15760
+ interface PluginCommandRegistration {
15761
+ /** Initial keyboard binding. Users can rebind every command, including ones without a default. Conflicting defaults remain unbound. */
15762
+ defaultShortcut?: PluginCommandShortcut;
15644
15763
  /** Unique within the plugin; letters, digits, `-`, `_`. */
15645
15764
  id: string;
15646
15765
  /** The row's label, e.g. "Linear: open issue for this thread". */
15647
15766
  title: string;
15648
15767
  /**
15649
15768
  * Hide the row when it cannot do anything — typically when it needs a thread
15650
- * and there is none. Called while the palette is open; keep it cheap and
15651
- * synchronous. Omitted means always listed.
15769
+ * and there is none. Called before palette listing and keyboard invocation;
15770
+ * keep it cheap and synchronous. Omitted means always listed.
15652
15771
  */
15653
- isAvailable?(context: PluginCommandPaletteActionContext): boolean;
15772
+ isAvailable?(context: PluginCommandContext): boolean;
15654
15773
  /**
15655
- * Runs after the palette closes and focus is restored. Errors (sync or
15656
- * async) are contained and logged; they never break the palette.
15774
+ * Runs on keyboard invocation, or after the palette closes and focus is
15775
+ * restored. Errors (sync or async) are contained and logged; they never break the palette.
15657
15776
  */
15658
- run(context: PluginCommandPaletteActionContext): void | Promise<void>;
15777
+ run(context: PluginCommandContext): void | Promise<void>;
15778
+ }
15779
+ /** @deprecated Use PluginCommandContext. */
15780
+ type PluginCommandPaletteActionContext = PluginCommandContext;
15781
+ /** @deprecated Use PluginCommandRegistration. */
15782
+ type PluginCommandPaletteActionRegistration = PluginCommandRegistration;
15783
+ /** Registers commands for bb's command palette. */
15784
+ interface PluginAppCommands {
15785
+ /** Register a command. IDs are unique within this plugin, including legacy slot registrations. */
15786
+ register(registration: PluginCommandRegistration): void;
15659
15787
  }
15660
15788
  /**
15661
15789
  * Supply an inline React mark for a provider. Agent, machine, and environment
@@ -15886,6 +16014,8 @@ interface PluginAppSlots {
15886
16014
  * docs/api_to_audit.md.
15887
16015
  */
15888
16016
  experimental_threadHeaderAction(registration: PluginThreadHeaderActionRegistration): void;
16017
+ /** Render a component beside each Browser tab's address bar. */
16018
+ experimental_browserToolbarAction(registration: ExperimentalPluginBrowserToolbarActionRegistration): void;
15889
16019
  fileOpener(registration: PluginFileOpenerRegistration): void;
15890
16020
  /**
15891
16021
  * Replace BB's source-code renderer (see
@@ -15902,10 +16032,10 @@ interface PluginAppSlots {
15902
16032
  messageDirective(registration: PluginMessageDirectiveRegistration): void;
15903
16033
  messageAction(registration: PluginMessageActionRegistration): void;
15904
16034
  /**
15905
- * Add a row to the quick palette (see
15906
- * {@link PluginCommandPaletteActionRegistration}).
16035
+ * @deprecated Use `app.commands.register` with the same registration.
16036
+ * Both entry points share the same command registry and ID namespace.
15907
16037
  */
15908
- commandPaletteAction(registration: PluginCommandPaletteActionRegistration): void;
16038
+ commandPaletteAction(registration: PluginCommandRegistration): void;
15909
16039
  /**
15910
16040
  * Draw one agent, environment, or machine provider's icon with an inline
15911
16041
  * React component instead of its masked logo asset (see
@@ -16037,6 +16167,7 @@ interface ExperimentalAppIcons {
16037
16167
  }
16038
16168
  interface PluginAppBuilder {
16039
16169
  experimental_icons: ExperimentalAppIcons;
16170
+ commands: PluginAppCommands;
16040
16171
  slots: PluginAppSlots;
16041
16172
  composer: PluginAppComposer;
16042
16173
  contentScripts: PluginAppContentScripts;
@@ -16243,7 +16374,7 @@ interface PluginComposerApi {
16243
16374
  focus(): void;
16244
16375
  /**
16245
16376
  * Submit this composer's draft through the composer's OWN submit pipeline,
16246
- * queued until `sendAt` instead of dispatched now.
16377
+ * optionally scheduling it or attaching plugin-owned dispatch data.
16247
16378
  *
16248
16379
  * This is a real submission, not a plugin-issued send: the host builds the
16249
16380
  * request exactly as pressing Enter would, so the draft's attachments and
@@ -16253,12 +16384,11 @@ interface PluginComposerApi {
16253
16384
  * tuple itself, which is why sending from the backend instead would silently
16254
16385
  * run the message with different settings than the ones in front of the user.
16255
16386
  *
16256
- * In a thread composer the message is queued as a row instead of being
16257
- * sent or queued for the next idle moment. In the new-thread composer the
16258
- * thread is created `pending` and its first message becomes the queued row.
16259
- * Either way the resulting row is core's: the queued card above the
16260
- * composer, the countdown, Send now and Delete all work with no further
16261
- * plugin involvement.
16387
+ * `sendAt` queues the submission until that time. `experimental_data` is
16388
+ * opaque JSON delivered to dispatch hooks together with the calling plugin's
16389
+ * id on this initial attempt. Hooks run before operational core waits. If a
16390
+ * hook queues the message, its existing plugin wait identifies the owner on
16391
+ * later attempts; core does not persist or interpret the opaque data.
16262
16392
  *
16263
16393
  * Resolves once the host has accepted the submission and cleared the draft.
16264
16394
  * Rejects when the composer refused to submit — a scope with no submit
@@ -16275,18 +16405,17 @@ interface PluginComposerApi {
16275
16405
  /**
16276
16406
  * What `experimental_submit` does differently from pressing Enter.
16277
16407
  *
16278
- * There is deliberately no zero-argument overload and no "submit now" arm: a
16279
- * plugin that wants a draft sent immediately is asking for the affordance the
16280
- * user already has, and handing plugins an unconditional "send this draft"
16281
- * button is a much larger surface than scheduling needs.
16408
+ * `experimental_data` is opaque JSON delivered to dispatch hooks. The runtime
16409
+ * associates it with the calling plugin automatically for the initial
16410
+ * dispatch attempt.
16282
16411
  */
16283
- interface ExperimentalComposerSubmitOptions {
16284
- /**
16285
- * Epoch ms the submission should dispatch at. Must be in the future; the
16286
- * host does not second-guess how far ahead it is.
16287
- */
16412
+ type ExperimentalComposerSubmitOptions = {
16288
16413
  sendAt: number;
16289
- }
16414
+ experimental_data?: JsonValue;
16415
+ } | {
16416
+ experimental_data: JsonValue;
16417
+ sendAt?: never;
16418
+ };
16290
16419
  /**
16291
16420
  * A consumer-supplied action on the messages of one `ThreadChat` instance,
16292
16421
  * rendered in the embedded timeline's per-message action bar alongside the
@@ -16595,7 +16724,13 @@ interface NewThreadComposerProps {
16595
16724
  * the original `default` submission would have created from.
16596
16725
  */
16597
16726
  defaultEnvironment?: CreateThreadEnvironmentArgs;
16598
- /** Seeds the draft, only while the draft is still empty. */
16727
+ /**
16728
+ * Seeds the draft, only while the draft is still empty. Serialized
16729
+ * `@thread:<id>`, `@project:<id>`, and `@section:<id>` tokens become mention
16730
+ * pills with host-resolved titles/names. Missing projects/sections use their
16731
+ * IDs; unavailable generated thread IDs use "Unavailable thread" ("Thread"
16732
+ * if lookup fails). Other unknown thread IDs use the ID as their label.
16733
+ */
16599
16734
  initialPrompt?: string;
16600
16735
  placeholder?: string;
16601
16736
  /**
@@ -16730,7 +16865,8 @@ interface BbNavigate {
16730
16865
  }): void;
16731
16866
  /**
16732
16867
  * Navigate to the root compose surface (the new-thread screen). Pass
16733
- * `initialPrompt` to seed the composer draft and `focusPrompt` to focus the
16868
+ * `initialPrompt` to seed the composer draft (serialized thread, project,
16869
+ * and section mention tokens become pills) and `focusPrompt` to focus the
16734
16870
  * composer on arrival — the pairing behind "Create via chat" style entry
16735
16871
  * points that drop the user into chat with a prefilled prompt.
16736
16872
  */
@@ -16982,7 +17118,9 @@ interface PluginMachineProviderDefinition<S extends PluginMachineProviderInputsS
16982
17118
  report: PluginMachineProviderProgress;
16983
17119
  signal: AbortSignal;
16984
17120
  }): Promise<PluginMachineProviderRemoveResult>;
17121
+ /** Idempotent: preserve saved state when compute is already stopped; save and stop any remaining compute, including during reconciliation of a suspended machine. */
16985
17122
  suspend?(context: PluginMachineProviderResourceLifecycleContext): Promise<PluginMachineProviderResourceResult>;
17123
+ /** Idempotent: reuse existing running compute instead of allocating a duplicate. */
16986
17124
  resume?(context: PluginMachineProviderResourceLifecycleContext): Promise<PluginMachineProviderResourceResult>;
16987
17125
  remove(context: PluginMachineProviderRemoveContext): Promise<PluginMachineProviderRemoveResult>;
16988
17126
  }
@@ -17423,6 +17561,7 @@ interface HostsArea {
17423
17561
  experimental_retryCleanup(args: HostActionArgs): Promise<HostActionResult>;
17424
17562
  retryUpdate(args: HostRetryUpdateArgs): Promise<HostRetryUpdateResult>;
17425
17563
  experimental_suspend(args: HostActionArgs): Promise<Host>;
17564
+ experimental_reconcile(args: HostActionArgs): Promise<Host>;
17426
17565
  update(args: HostUpdateArgs): Promise<HostUpdateResult>;
17427
17566
  }
17428
17567
 
@@ -17653,6 +17792,7 @@ interface PluginCheckUpdatesArgs {
17653
17792
  signal?: AbortSignal;
17654
17793
  }
17655
17794
  interface PluginRpcArgs<TOutput> extends PluginIdArgs {
17795
+ signal?: AbortSignal;
17656
17796
  input?: JsonValue$1;
17657
17797
  method: string;
17658
17798
  outputSchema: z$1.ZodType<TOutput>;
@@ -17710,6 +17850,7 @@ interface PluginMarketplacesArea {
17710
17850
  remove(args: PluginMarketplaceRemoveArgs): Promise<PluginMarketplaceRemoveResult>;
17711
17851
  }
17712
17852
  interface PluginsArea {
17853
+ experimental_discoverRpc(args?: PluginRpcDiscoveryQuery): Promise<PublishedPluginRpcMethod[]>;
17713
17854
  applyUpdate(args: PluginIdArgs): Promise<PluginApplyUpdateResult>;
17714
17855
  callRpc<TOutput>(args: PluginRpcArgs<TOutput>): Promise<TOutput>;
17715
17856
  checkUpdates(args?: PluginCheckUpdatesArgs): Promise<PluginCheckUpdatesResult>;
@@ -18884,8 +19025,8 @@ interface PluginThreadEventPayloads {
18884
19025
  /**
18885
19026
  * Fired after a dispatch attempt is queued as a row — by a `message.dispatch`
18886
19027
  * hook's `wait` decision, by a `sendAt` in the future, or by a core wait (the
18887
- * thread is busy, its turn is still starting, provisioning, or awaiting an
18888
- * interaction).
19028
+ * thread is busy, its turn is still starting, provisioning, stopping, or
19029
+ * awaiting an interaction).
18889
19030
  *
18890
19031
  * Every listener sees every queued row, not just the ones it is holding: an
18891
19032
  * observer that only wants its own filters on
@@ -19191,6 +19332,16 @@ interface MessageDispatchHookContext {
19191
19332
  * double-count.
19192
19333
  */
19193
19334
  queuedMessage: ThreadQueuedMessage | null;
19335
+ /**
19336
+ * Opaque JSON supplied by a plugin through the composer's
19337
+ * `experimental_submit`, paired with that plugin's id. Null for ordinary
19338
+ * submissions and queued re-attempts. Core does not persist or interpret
19339
+ * the data.
19340
+ */
19341
+ experimental_submission: {
19342
+ pluginId: string;
19343
+ data: JsonValue;
19344
+ } | null;
19194
19345
  /** How the dispatch was requested; null for internal/core-driven sends. */
19195
19346
  origin: ThreadCreateOrigin | null;
19196
19347
  originPluginId: string | null;
@@ -19335,7 +19486,10 @@ interface PluginRpc {
19335
19486
  * serialization. The response is `{ ok: true, result }` or
19336
19487
  * `{ ok: false, error: { code, message, issues? } }`.
19337
19488
  */
19338
- register<Contract extends PluginRpcContract>(contract: Contract, handlers: PluginRpcHandlers<Contract>): void;
19489
+ register<Contract extends PluginRpcContract>(contract: Contract, handlers: PluginRpcHandlers<Contract>, options?: {
19490
+ experimental_discoverable?: boolean;
19491
+ experimental_description?: string;
19492
+ }): void;
19339
19493
  }
19340
19494
  interface PluginRealtime {
19341
19495
  /**
@@ -19747,6 +19901,8 @@ interface PluginProviderOptionsContext {
19747
19901
  }
19748
19902
  /** See {@link PluginProviderDeclaration.models}. */
19749
19903
  type PluginProviderModelCatalogScope = "host" | "workspace";
19904
+ /** See {@link PluginProviderDeclaration.completedTurnDisplay}. */
19905
+ type PluginProviderCompletedTurnDisplay = "collapse" | "flat";
19750
19906
  /**
19751
19907
  * One cold-cache fallback model. The provider's live `model/list` result is
19752
19908
  * the only real model source; this list stands in only while no probe has
@@ -19855,6 +20011,16 @@ interface PluginProviderDeclaration {
19855
20011
  /** Composer actions this provider supports. No duplicates; may be empty
19856
20012
  * (the universal skills typeahead is implicit). */
19857
20013
  composerActions: readonly PluginProviderComposerAction[];
20014
+ /**
20015
+ * How the thread timeline shows this provider's turns once they finish.
20016
+ * `"collapse"` (the default) folds a finished turn's work into one
20017
+ * "Worked for" row and leaves the final answer visible. `"flat"` keeps
20018
+ * every row of a finished turn visible, as it was while the turn ran. This
20019
+ * is only the provider's default: the user can choose either display for
20020
+ * each provider in Settings → Providers or with
20021
+ * `bb settings completed-turns`, and that choice wins.
20022
+ */
20023
+ completedTurnDisplay?: PluginProviderCompletedTurnDisplay;
19858
20024
  /** Provider copy for core surfaces ({@link PluginProviderStrings}). */
19859
20025
  strings?: PluginProviderStrings;
19860
20026
  /** Service tiers this provider accepts, as picker options. Non-empty when
@@ -20068,6 +20234,16 @@ interface PluginMentionItem {
20068
20234
  subtitle?: string;
20069
20235
  icon?: string;
20070
20236
  }
20237
+ /** Agent-only image context resolved with a plugin mention. */
20238
+ type ExperimentalPluginMentionImage = {
20239
+ type: "image";
20240
+ url: string;
20241
+ context?: string;
20242
+ } | {
20243
+ type: "localImage";
20244
+ path: string;
20245
+ context?: string;
20246
+ };
20071
20247
  interface PluginMentionProviderRegistration {
20072
20248
  /** Unique within this plugin: [a-zA-Z0-9_-]+ (no ":" — the host composes
20073
20249
  * wire item ids as "<providerId>:<itemId>"). */
@@ -20094,8 +20270,10 @@ interface PluginMentionProviderRegistration {
20094
20270
  */
20095
20271
  resolve(itemId: string): {
20096
20272
  context: string;
20273
+ experimental_images?: readonly ExperimentalPluginMentionImage[];
20097
20274
  } | Promise<{
20098
20275
  context: string;
20276
+ experimental_images?: readonly ExperimentalPluginMentionImage[];
20099
20277
  }>;
20100
20278
  }
20101
20279
  interface PluginUi {
@@ -20320,4 +20498,4 @@ interface BbPluginApi {
20320
20498
  }
20321
20499
 
20322
20500
  export { PLUGIN_CLI_OUTPUT_MAX_BYTES, defineRpcContract, experimental_defineHostEntry };
20323
- export type { BbContext, BbNavigate, BbPluginApi, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerCustomization, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerStructuredDraft, ComposerView, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerSubmitOptions, ExperimentalDesktopBrowserAcquireInput, ExperimentalDesktopBrowserCreateInput, ExperimentalDesktopBrowserLease, ExperimentalDesktopBrowserScope, ExperimentalDesktopBrowsersArea, ExperimentalDiffFileContent, ExperimentalDiffFullFileContents, ExperimentalFileLinkProps, ExperimentalFileLocation, ExperimentalFileOpenOptions, ExperimentalFixedTabTargetContract, ExperimentalFixedTabTargetState, ExperimentalHostCallOptions, ExperimentalHostClient, ExperimentalHostEntry, ExperimentalHostPaths, ExperimentalHostRpcContext, ExperimentalHostRpcHandlers, ExperimentalHostSignalContract, ExperimentalHostSignalEvent, ExperimentalHostSignals, ExperimentalHostWatchChange, ExperimentalHostWatchChangeType, ExperimentalHostWatchEvent, ExperimentalHostWatchListener, ExperimentalHostWatchOptions, ExperimentalHostWatchSubscription, ExperimentalHostWorkerLease, ExperimentalIconProps, ExperimentalIconRegistration, ExperimentalLiveFileTarget, ExperimentalOpenFixedTabOptions, ExperimentalPermissionModePickerProps, ExperimentalPluginFixedTabReference, ExperimentalPluginProviderEnvContext, ExperimentalPluginProviderEnvEntry, ExperimentalPluginProviderEnvHealth, ExperimentalPluginProviderEnvHealthContext, ExperimentalPluginWebSocket, ExperimentalPluginWebSocketContext, ExperimentalPluginWebSocketHandler, ExperimentalPluginWebSocketHandlers, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, JsonValue, MachineBootstrapApi, MachineBootstrapRequest, MachineExecutor, MachineExecutorRequest, MarkdownProps, MessageDispatchHookContext, MessageDispatchHookDecision, NewThreadComposerProps, NewThreadRequest, PluginAgentConfiguration, PluginAgentConfigurationContext, PluginAgentToolContentPart, PluginAgentToolContext, PluginAgentToolLabels, PluginAgentToolPresentation, PluginAgentToolRegistrationBase, PluginAgentToolResult, PluginAgentToolSelection, PluginAgents, PluginAiServiceDeclaration, PluginAiServiceKind, PluginAiServices, PluginAppBuilder, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginBackground, PluginBbSdk, PluginCli, PluginCliCommandInfo, PluginCliContext, PluginCliExecutionResult, PluginCliOutputLimitError, PluginCliRegistration, PluginCliResult, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandPaletteActionContext, PluginCommandPaletteActionRegistration, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginDispatchAttemptKind, PluginDispatchEnvironmentIntent, PluginDispatchExecution, PluginDispatchExecutionSources, PluginDispatchInput, PluginEnvironmentProviderDeclaration, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, PluginEnvironmentProviderRequirements, PluginEnvironmentValidateDecision, PluginEnvironments, PluginEvents, PluginFileOpenerProps, PluginFileOpenerRegistration, PluginFileOpenerSource, PluginFixedTabDeclaration, PluginFixedTabRegistration, PluginHomepageSectionProps, PluginHomepageSectionRegistration, PluginHookHandler, PluginHookName, PluginHookSignatures, PluginHooks, PluginHosts, PluginHttp, PluginHttpAuthMode, PluginHttpHandler, PluginInteractionCancelReason, PluginInteractionRequest, PluginInteractionResult, PluginKvStorage, PluginLogger, PluginMachineProviderDeclaration, PluginMachineProviderInputsChange, PluginMachineProviderInputsProps, PluginMachineProviderInputsRegistration, PluginMachineValidateDecision, PluginMachines, PluginMentionItem, PluginMentionProviderRegistration, PluginMentionSearchContext, PluginMentionTrigger, PluginMessageActionContext, PluginMessageActionRegistration, PluginMessageDirectiveMessage, PluginMessageDirectiveOpenWorkspaceFile, PluginMessageDirectiveProps, PluginMessageDirectiveRegistration, PluginNavPanelProps, PluginNavPanelRegistration, PluginNewThreadPanelActionContext, PluginNewThreadPanelActionRegistration, PluginNewThreadPanelProps, PluginPanelActionOpenOptions, PluginPendingInteractionProps, PluginPendingInteractionRegistration, PluginPendingInteractionView, PluginProviderCapabilities, PluginProviderComposerAction, PluginProviderDeclaration, PluginProviderExtensionKindDeclaration, PluginProviderFallbackModel, PluginProviderIconRegistration, PluginProviderMaintenance, PluginProviderModelCatalogScope, PluginProviderNativeRootEntry, PluginProviderNativeRoots, PluginProviderOptionDescriptor, PluginProviderOptionsContext, PluginProviderPermissionMode, PluginProviderReasoningLevel, PluginProviderStrings, PluginProviders, PluginProvidersState, PluginRealtime, PluginRealtimeConnectionState, PluginRpc, PluginRpcCallArgs, PluginRpcClient, PluginRpcContract, PluginRpcError, PluginRpcErrorCode, PluginRpcHandlers, PluginRpcIssuePathSegment, PluginRpcMethodContract, PluginRpcResult, PluginRpcValidationIssue, PluginSdkApp, PluginServerAccess, PluginServerApi, PluginSettingDescriptor, PluginSettingDescriptors, PluginSettingValue, PluginSettings, PluginSettingsHandle, PluginSettingsSectionProps, PluginSettingsSectionRegistration, PluginSettingsState, PluginSettingsValues, PluginSharedPortTunnelIdentity, PluginSidebarFooterActionContext, PluginSidebarFooterActionProps, PluginSidebarFooterActionRegistration, PluginSidebarProject, PluginSidebarPullRequest, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginStatusApi, PluginStorage, PluginTargetedPanelActionOpenOptions, PluginThreadEventHandler, PluginThreadEventName, PluginThreadEventPayloads, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, PluginTurnFailedEvent, PluginUi, ReadonlyJsonValue, ServerAccessGrant, ServerAccessProviderDeclaration, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };
20501
+ export type { BbContext, BbNavigate, BbPluginApi, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerCustomization, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerStructuredDraft, ComposerView, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerSubmitOptions, ExperimentalDesktopBrowserAcquireInput, ExperimentalDesktopBrowserCreateInput, ExperimentalDesktopBrowserLease, ExperimentalDesktopBrowserScope, ExperimentalDesktopBrowsersArea, ExperimentalDiffFileContent, ExperimentalDiffFullFileContents, ExperimentalFileLinkProps, ExperimentalFileLocation, ExperimentalFileOpenOptions, ExperimentalFixedTabTargetContract, ExperimentalFixedTabTargetState, ExperimentalHostCallOptions, ExperimentalHostClient, ExperimentalHostEntry, ExperimentalHostPaths, ExperimentalHostRpcContext, ExperimentalHostRpcHandlers, ExperimentalHostSignalContract, ExperimentalHostSignalEvent, ExperimentalHostSignals, ExperimentalHostWatchChange, ExperimentalHostWatchChangeType, ExperimentalHostWatchEvent, ExperimentalHostWatchListener, ExperimentalHostWatchOptions, ExperimentalHostWatchSubscription, ExperimentalHostWorkerLease, ExperimentalIconProps, ExperimentalIconRegistration, ExperimentalLiveFileTarget, ExperimentalOpenFixedTabOptions, ExperimentalPermissionModePickerProps, ExperimentalPluginBrowserToolbarActionProps, ExperimentalPluginBrowserToolbarActionRegistration, ExperimentalPluginFixedTabReference, ExperimentalPluginMentionImage, ExperimentalPluginProviderEnvContext, ExperimentalPluginProviderEnvEntry, ExperimentalPluginProviderEnvHealth, ExperimentalPluginProviderEnvHealthContext, ExperimentalPluginWebSocket, ExperimentalPluginWebSocketContext, ExperimentalPluginWebSocketHandler, ExperimentalPluginWebSocketHandlers, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, JsonValue, MachineBootstrapApi, MachineBootstrapRequest, MachineExecutor, MachineExecutorRequest, MarkdownProps, MessageDispatchHookContext, MessageDispatchHookDecision, NewThreadComposerProps, NewThreadRequest, PluginAgentConfiguration, PluginAgentConfigurationContext, PluginAgentToolContentPart, PluginAgentToolContext, PluginAgentToolLabels, PluginAgentToolPresentation, PluginAgentToolRegistrationBase, PluginAgentToolResult, PluginAgentToolSelection, PluginAgents, PluginAiServiceDeclaration, PluginAiServiceKind, PluginAiServices, PluginAppBuilder, PluginAppCommands, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginBackground, PluginBbSdk, PluginCli, PluginCliCommandInfo, PluginCliContext, PluginCliExecutionResult, PluginCliOutputLimitError, PluginCliRegistration, PluginCliResult, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandContext, PluginCommandPaletteActionContext, PluginCommandPaletteActionRegistration, PluginCommandRegistration, PluginCommandShortcut, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginDispatchAttemptKind, PluginDispatchEnvironmentIntent, PluginDispatchExecution, PluginDispatchExecutionSources, PluginDispatchInput, PluginEnvironmentProviderDeclaration, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, PluginEnvironmentProviderRequirements, PluginEnvironmentValidateDecision, PluginEnvironments, PluginEvents, PluginFileOpenerProps, PluginFileOpenerRegistration, PluginFileOpenerSource, PluginFixedTabDeclaration, PluginFixedTabRegistration, PluginHomepageSectionProps, PluginHomepageSectionRegistration, PluginHookHandler, PluginHookName, PluginHookSignatures, PluginHooks, PluginHosts, PluginHttp, PluginHttpAuthMode, PluginHttpHandler, PluginInteractionCancelReason, PluginInteractionRequest, PluginInteractionResult, PluginKvStorage, PluginLogger, PluginMachineProviderDeclaration, PluginMachineProviderInputsChange, PluginMachineProviderInputsProps, PluginMachineProviderInputsRegistration, PluginMachineValidateDecision, PluginMachines, PluginMentionItem, PluginMentionProviderRegistration, PluginMentionSearchContext, PluginMentionTrigger, PluginMessageActionContext, PluginMessageActionRegistration, PluginMessageDirectiveMessage, PluginMessageDirectiveOpenWorkspaceFile, PluginMessageDirectiveProps, PluginMessageDirectiveRegistration, PluginNavPanelProps, PluginNavPanelRegistration, PluginNewThreadPanelActionContext, PluginNewThreadPanelActionRegistration, PluginNewThreadPanelProps, PluginPanelActionOpenOptions, PluginPendingInteractionProps, PluginPendingInteractionRegistration, PluginPendingInteractionView, PluginProviderCapabilities, PluginProviderCompletedTurnDisplay, PluginProviderComposerAction, PluginProviderDeclaration, PluginProviderExtensionKindDeclaration, PluginProviderFallbackModel, PluginProviderIconRegistration, PluginProviderMaintenance, PluginProviderModelCatalogScope, PluginProviderNativeRootEntry, PluginProviderNativeRoots, PluginProviderOptionDescriptor, PluginProviderOptionsContext, PluginProviderPermissionMode, PluginProviderReasoningLevel, PluginProviderStrings, PluginProviders, PluginProvidersState, PluginRealtime, PluginRealtimeConnectionState, PluginRpc, PluginRpcCallArgs, PluginRpcClient, PluginRpcContract, PluginRpcError, PluginRpcErrorCode, PluginRpcHandlers, PluginRpcIssuePathSegment, PluginRpcMethodContract, PluginRpcResult, PluginRpcValidationIssue, PluginSdkApp, PluginServerAccess, PluginServerApi, PluginSettingDescriptor, PluginSettingDescriptors, PluginSettingValue, PluginSettings, PluginSettingsHandle, PluginSettingsSectionProps, PluginSettingsSectionRegistration, PluginSettingsState, PluginSettingsValues, PluginSharedPortTunnelIdentity, PluginSidebarFooterActionContext, PluginSidebarFooterActionProps, PluginSidebarFooterActionRegistration, PluginSidebarProject, PluginSidebarPullRequest, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginStatusApi, PluginStorage, PluginTargetedPanelActionOpenOptions, PluginThreadEventHandler, PluginThreadEventName, PluginThreadEventPayloads, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, PluginTurnFailedEvent, PluginUi, ReadonlyJsonValue, ServerAccessGrant, ServerAccessProviderDeclaration, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };