@get-bb/plugin-sdk 0.4.87 → 0.4.94

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.
@@ -55,6 +55,7 @@ declare const appSettingsSchema: z$1.ZodObject<{
55
55
  showKeyboardHints: z$1.ZodBoolean;
56
56
  steerActiveThreadOnEnter: z$1.ZodBoolean;
57
57
  streamerMode: z$1.ZodBoolean;
58
+ telemetryEnabled: z$1.ZodBoolean;
58
59
  }, z$1.core.$strict>;
59
60
  type AppSettings = z$1.infer<typeof appSettingsSchema>;
60
61
  declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
@@ -69,6 +70,7 @@ declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
69
70
  showUnhandledProviderEvents: z$1.ZodOptional<z$1.ZodBoolean>;
70
71
  steerActiveThreadOnEnter: z$1.ZodBoolean;
71
72
  streamerMode: z$1.ZodBoolean;
73
+ telemetryEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
72
74
  }, z$1.core.$strict>, z$1.ZodObject<{
73
75
  defaultMachineAccess: z$1.ZodNullable<z$1.ZodString>;
74
76
  defaultProviderId: z$1.ZodNullable<z$1.ZodString>;
@@ -80,6 +82,7 @@ declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
80
82
  showUnhandledProviderEvents: z$1.ZodBoolean;
81
83
  steerActiveThreadOnEnter: z$1.ZodBoolean;
82
84
  streamerMode: z$1.ZodBoolean;
85
+ telemetryEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
83
86
  }, z$1.core.$strict>]>;
84
87
  type AppSettingsUpdate = z$1.infer<typeof appSettingsUpdateSchema>;
85
88
 
@@ -136,7 +139,7 @@ type UiPreferenceEntries = {
136
139
  };
137
140
 
138
141
  declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
139
- command: z$1.ZodEnum<{
142
+ command: z$1.ZodUnion<readonly [z$1.ZodEnum<{
140
143
  "app.back": "app.back";
141
144
  "browser.find": "browser.find";
142
145
  "browser.focusLocation": "browser.focusLocation";
@@ -200,7 +203,7 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
200
203
  "thread.search": "thread.search";
201
204
  "window.new": "window.new";
202
205
  "workspace.openPreferred": "workspace.openPreferred";
203
- }>;
206
+ }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
204
207
  shortcut: z$1.ZodNullable<z$1.ZodObject<{
205
208
  alt: z$1.ZodBoolean;
206
209
  control: z$1.ZodBoolean;
@@ -344,6 +347,7 @@ declare const changedMessageSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
344
347
  changes: z$1.ZodReadonly<z$1.ZodArray<z$1.ZodEnum<{
345
348
  "host-connected": "host-connected";
346
349
  "host-disconnected": "host-disconnected";
350
+ "provider-model-catalog-changed": "provider-model-catalog-changed";
347
351
  }>>>;
348
352
  entity: z$1.ZodLiteral<"host">;
349
353
  id: z$1.ZodOptional<z$1.ZodString>;
@@ -445,6 +449,7 @@ type Environment = z$1.infer<typeof environmentSchema>;
445
449
  declare const experimentsSchema: z$1.ZodRecord<z$1.ZodEnum<{
446
450
  changelogPreview: "changelogPreview";
447
451
  mobileApp: "mobileApp";
452
+ multiMachinePicker: "multiMachinePicker";
448
453
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
449
454
  timelineWindowing: "timelineWindowing";
450
455
  }>, z$1.ZodBoolean>;
@@ -2548,6 +2553,8 @@ declare const threadEventSchema: z$1.ZodPipe<z$1.ZodUnknown, z$1.ZodUnion<readon
2548
2553
  threadId: z$1.ZodString;
2549
2554
  tokenUsage: z$1.ZodObject<{
2550
2555
  last: z$1.ZodObject<{
2556
+ cacheReadInputTokens: z$1.ZodOptional<z$1.ZodNumber>;
2557
+ cacheWriteInputTokens: z$1.ZodOptional<z$1.ZodNumber>;
2551
2558
  cachedInputTokens: z$1.ZodNumber;
2552
2559
  inputTokens: z$1.ZodNumber;
2553
2560
  outputTokens: z$1.ZodNumber;
@@ -2556,6 +2563,8 @@ declare const threadEventSchema: z$1.ZodPipe<z$1.ZodUnknown, z$1.ZodUnion<readon
2556
2563
  }, z$1.core.$strip>;
2557
2564
  modelContextWindow: z$1.ZodNullable<z$1.ZodNumber>;
2558
2565
  total: z$1.ZodObject<{
2566
+ cacheReadInputTokens: z$1.ZodOptional<z$1.ZodNumber>;
2567
+ cacheWriteInputTokens: z$1.ZodOptional<z$1.ZodNumber>;
2559
2568
  cachedInputTokens: z$1.ZodNumber;
2560
2569
  inputTokens: z$1.ZodNumber;
2561
2570
  outputTokens: z$1.ZodNumber;
@@ -4203,6 +4212,8 @@ declare const threadQueuedMessageSchema: z$1.ZodObject<{
4203
4212
  kind: z$1.ZodLiteral<"time">;
4204
4213
  }, z$1.core.$strip>, z$1.ZodObject<{
4205
4214
  kind: z$1.ZodLiteral<"thread-busy">;
4215
+ }, z$1.core.$strip>, z$1.ZodObject<{
4216
+ kind: z$1.ZodLiteral<"stopping">;
4206
4217
  }, z$1.core.$strip>, z$1.ZodObject<{
4207
4218
  kind: z$1.ZodLiteral<"turn-starting">;
4208
4219
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -6689,6 +6700,13 @@ declare const hostDaemonCommandRegistry: {
6689
6700
  }, z$1.core.$strict>, z$1.ZodObject<{
6690
6701
  providerCheckpointId: z$1.ZodNullable<z$1.ZodString>;
6691
6702
  }, z$1.core.$strict>, "settled", false>;
6703
+ "thread.storage.delete": HostDaemonCommandDescriptor<"thread.storage.delete", z$1.ZodObject<{
6704
+ environmentId: z$1.ZodString;
6705
+ threadId: z$1.ZodString;
6706
+ type: z$1.ZodLiteral<"thread.storage.delete">;
6707
+ }, z$1.core.$strict>, z$1.ZodObject<{
6708
+ providerCheckpointId: z$1.ZodNullable<z$1.ZodString>;
6709
+ }, z$1.core.$strict>, "settled", false>;
6692
6710
  "thread.goal.clear": HostDaemonCommandDescriptor<"thread.goal.clear", z$1.ZodObject<{
6693
6711
  bridgeLaunch: z$1.ZodObject<{
6694
6712
  capabilities: z$1.ZodObject<{
@@ -9368,6 +9386,21 @@ declare const pluginMarketplaceRefreshResultSchema: z$1.ZodObject<{
9368
9386
  ok: z$1.ZodBoolean;
9369
9387
  }, z$1.core.$strip>;
9370
9388
  type PluginMarketplaceRefreshResult$1 = z$1.infer<typeof pluginMarketplaceRefreshResultSchema>;
9389
+ declare const pluginRpcDiscoveryQuerySchema: z$1.ZodObject<{
9390
+ method: z$1.ZodOptional<z$1.ZodString>;
9391
+ pluginId: z$1.ZodOptional<z$1.ZodString>;
9392
+ }, z$1.core.$strip>;
9393
+ type PluginRpcDiscoveryQuery = z$1.infer<typeof pluginRpcDiscoveryQuerySchema>;
9394
+ declare const publishedPluginRpcMethodSchema: z$1.ZodObject<{
9395
+ displayName: z$1.ZodString;
9396
+ inputSchema: z$1.ZodRecord<z$1.ZodString, z$1.ZodType<JsonValue$1, unknown, z$1.core.$ZodTypeInternals<JsonValue$1, unknown>>>;
9397
+ method: z$1.ZodString;
9398
+ methodDescription: z$1.ZodNullable<z$1.ZodString>;
9399
+ outputSchema: z$1.ZodRecord<z$1.ZodString, z$1.ZodType<JsonValue$1, unknown, z$1.core.$ZodTypeInternals<JsonValue$1, unknown>>>;
9400
+ pluginId: z$1.ZodString;
9401
+ registrationDescription: z$1.ZodNullable<z$1.ZodString>;
9402
+ }, z$1.core.$strip>;
9403
+ type PublishedPluginRpcMethod = z$1.infer<typeof publishedPluginRpcMethodSchema>;
9371
9404
 
9372
9405
  declare const machineEnvironmentReplaceSchema: z$1.ZodObject<{
9373
9406
  variables: z$1.ZodArray<z$1.ZodObject<{
@@ -9623,7 +9656,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9623
9656
  customThemes: z$1.ZodArray<z$1.ZodString>;
9624
9657
  dataDir: z$1.ZodString;
9625
9658
  defaultKeybindings: z$1.ZodArray<z$1.ZodObject<{
9626
- command: z$1.ZodEnum<{
9659
+ command: z$1.ZodUnion<readonly [z$1.ZodEnum<{
9627
9660
  "app.back": "app.back";
9628
9661
  "browser.find": "browser.find";
9629
9662
  "browser.focusLocation": "browser.focusLocation";
@@ -9687,7 +9720,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9687
9720
  "thread.search": "thread.search";
9688
9721
  "window.new": "window.new";
9689
9722
  "workspace.openPreferred": "workspace.openPreferred";
9690
- }>;
9723
+ }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
9691
9724
  desktopOnly: z$1.ZodBoolean;
9692
9725
  shortcut: z$1.ZodNullable<z$1.ZodObject<{
9693
9726
  alt: z$1.ZodBoolean;
@@ -9729,6 +9762,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9729
9762
  experiments: z$1.ZodRecord<z$1.ZodEnum<{
9730
9763
  changelogPreview: "changelogPreview";
9731
9764
  mobileApp: "mobileApp";
9765
+ multiMachinePicker: "multiMachinePicker";
9732
9766
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
9733
9767
  timelineWindowing: "timelineWindowing";
9734
9768
  }>, z$1.ZodBoolean>;
@@ -9748,10 +9782,11 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9748
9782
  showUnhandledProviderEvents: z$1.ZodOptional<z$1.ZodBoolean>;
9749
9783
  steerActiveThreadOnEnter: z$1.ZodBoolean;
9750
9784
  streamerMode: z$1.ZodBoolean;
9785
+ telemetryEnabled: z$1.ZodBoolean;
9751
9786
  }, z$1.core.$strict>;
9752
9787
  hostDaemonPort: z$1.ZodNullable<z$1.ZodNumber>;
9753
9788
  keybindingOverrides: z$1.ZodArray<z$1.ZodObject<{
9754
- command: z$1.ZodEnum<{
9789
+ command: z$1.ZodUnion<readonly [z$1.ZodEnum<{
9755
9790
  "app.back": "app.back";
9756
9791
  "browser.find": "browser.find";
9757
9792
  "browser.focusLocation": "browser.focusLocation";
@@ -9815,7 +9850,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9815
9850
  "thread.search": "thread.search";
9816
9851
  "window.new": "window.new";
9817
9852
  "workspace.openPreferred": "workspace.openPreferred";
9818
- }>;
9853
+ }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
9819
9854
  shortcut: z$1.ZodNullable<z$1.ZodObject<{
9820
9855
  alt: z$1.ZodBoolean;
9821
9856
  control: z$1.ZodBoolean;
@@ -9826,7 +9861,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9826
9861
  }, z$1.core.$strict>>;
9827
9862
  }, z$1.core.$strict>>;
9828
9863
  keybindings: z$1.ZodArray<z$1.ZodObject<{
9829
- command: z$1.ZodEnum<{
9864
+ command: z$1.ZodUnion<readonly [z$1.ZodEnum<{
9830
9865
  "app.back": "app.back";
9831
9866
  "browser.find": "browser.find";
9832
9867
  "browser.focusLocation": "browser.focusLocation";
@@ -9890,7 +9925,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9890
9925
  "thread.search": "thread.search";
9891
9926
  "window.new": "window.new";
9892
9927
  "workspace.openPreferred": "workspace.openPreferred";
9893
- }>;
9928
+ }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
9894
9929
  desktopOnly: z$1.ZodBoolean;
9895
9930
  shortcut: z$1.ZodObject<{
9896
9931
  alt: z$1.ZodBoolean;
@@ -11491,6 +11526,10 @@ declare const createThreadRequestSchema: z$1.ZodObject<{
11491
11526
  full: "full";
11492
11527
  }>, z$1.ZodLiteral<"workspace-write">]>, z$1.ZodTransform<"accept-edits" | "auto" | "full", "accept-edits" | "auto" | "full" | "workspace-write">>>;
11493
11528
  pluginMetadata: z$1.ZodOptional<z$1.ZodType<JsonObject, unknown, z$1.core.$ZodTypeInternals<JsonObject, unknown>>>;
11529
+ pluginSubmission: z$1.ZodOptional<z$1.ZodObject<{
11530
+ data: z$1.ZodType<JsonValue$1, unknown, z$1.core.$ZodTypeInternals<JsonValue$1, unknown>>;
11531
+ pluginId: z$1.ZodString;
11532
+ }, z$1.core.$strip>>;
11494
11533
  projectId: z$1.ZodString;
11495
11534
  providerId: z$1.ZodOptional<z$1.ZodString>;
11496
11535
  reasoningLevel: z$1.ZodOptional<z$1.ZodEnum<{
@@ -11867,6 +11906,10 @@ declare const sendMessageRequestSchema: z$1.ZodObject<{
11867
11906
  auto: "auto";
11868
11907
  full: "full";
11869
11908
  }>, z$1.ZodLiteral<"workspace-write">]>, z$1.ZodTransform<"accept-edits" | "auto" | "full", "accept-edits" | "auto" | "full" | "workspace-write">>>;
11909
+ pluginSubmission: z$1.ZodOptional<z$1.ZodObject<{
11910
+ data: z$1.ZodType<JsonValue$1, unknown, z$1.core.$ZodTypeInternals<JsonValue$1, unknown>>;
11911
+ pluginId: z$1.ZodString;
11912
+ }, z$1.core.$strip>>;
11870
11913
  reasoningLevel: z$1.ZodOptional<z$1.ZodEnum<{
11871
11914
  high: "high";
11872
11915
  low: "low";
@@ -12024,6 +12067,8 @@ declare const sendMessageResponseSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObjec
12024
12067
  kind: z$1.ZodLiteral<"time">;
12025
12068
  }, z$1.core.$strip>, z$1.ZodObject<{
12026
12069
  kind: z$1.ZodLiteral<"thread-busy">;
12070
+ }, z$1.core.$strip>, z$1.ZodObject<{
12071
+ kind: z$1.ZodLiteral<"stopping">;
12027
12072
  }, z$1.core.$strip>, z$1.ZodObject<{
12028
12073
  kind: z$1.ZodLiteral<"turn-starting">;
12029
12074
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -12195,6 +12240,8 @@ declare const retryTurnResponseSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<
12195
12240
  kind: z$1.ZodLiteral<"time">;
12196
12241
  }, z$1.core.$strip>, z$1.ZodObject<{
12197
12242
  kind: z$1.ZodLiteral<"thread-busy">;
12243
+ }, z$1.core.$strip>, z$1.ZodObject<{
12244
+ kind: z$1.ZodLiteral<"stopping">;
12198
12245
  }, z$1.core.$strip>, z$1.ZodObject<{
12199
12246
  kind: z$1.ZodLiteral<"turn-starting">;
12200
12247
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -12571,6 +12618,8 @@ declare const sendQueuedMessageResponseSchema: z$1.ZodDiscriminatedUnion<[z$1.Zo
12571
12618
  kind: z$1.ZodLiteral<"time">;
12572
12619
  }, z$1.core.$strip>, z$1.ZodObject<{
12573
12620
  kind: z$1.ZodLiteral<"thread-busy">;
12621
+ }, z$1.core.$strip>, z$1.ZodObject<{
12622
+ kind: z$1.ZodLiteral<"stopping">;
12574
12623
  }, z$1.core.$strip>, z$1.ZodObject<{
12575
12624
  kind: z$1.ZodLiteral<"turn-starting">;
12576
12625
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -13457,6 +13506,8 @@ declare const threadQueuedMessageListResponseSchema: z$1.ZodArray<z$1.ZodObject<
13457
13506
  kind: z$1.ZodLiteral<"time">;
13458
13507
  }, z$1.core.$strip>, z$1.ZodObject<{
13459
13508
  kind: z$1.ZodLiteral<"thread-busy">;
13509
+ }, z$1.core.$strip>, z$1.ZodObject<{
13510
+ kind: z$1.ZodLiteral<"stopping">;
13460
13511
  }, z$1.core.$strip>, z$1.ZodObject<{
13461
13512
  kind: z$1.ZodLiteral<"turn-starting">;
13462
13513
  }, z$1.core.$strip>, z$1.ZodObject<{
@@ -13965,6 +14016,7 @@ declare const threadTimelineResponseSchema: z$1.ZodObject<{
13965
14016
  anchorId: z$1.ZodString;
13966
14017
  anchorSeq: z$1.ZodNumber;
13967
14018
  }, z$1.core.$strict>>;
14019
+ olderRowsSourceSeqEnd: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
13968
14020
  returnedSegmentCount: z$1.ZodNumber;
13969
14021
  segmentLimit: z$1.ZodNumber;
13970
14022
  }, z$1.core.$strict>;
@@ -14456,6 +14508,14 @@ interface StandardSchemaV1<Input = unknown, Output = Input> {
14456
14508
  readonly version: 1;
14457
14509
  readonly vendor: string;
14458
14510
  readonly validate: (value: unknown) => StandardSchemaV1Result<Output> | Promise<StandardSchemaV1Result<Output>>;
14511
+ readonly jsonSchema?: {
14512
+ readonly input: (options: {
14513
+ target: string;
14514
+ }) => Record<string, unknown>;
14515
+ readonly output: (options: {
14516
+ target: string;
14517
+ }) => Record<string, unknown>;
14518
+ };
14459
14519
  readonly types?: {
14460
14520
  readonly input: Input;
14461
14521
  readonly output: Output;
@@ -14477,6 +14537,7 @@ interface StandardSchemaV1Issue {
14477
14537
  type StandardSchemaV1InferInput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["input"];
14478
14538
  type StandardSchemaV1InferOutput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["output"];
14479
14539
  interface PluginRpcMethodContract<InputSchema extends StandardSchemaV1 = StandardSchemaV1, OutputSchema extends StandardSchemaV1 = StandardSchemaV1> {
14540
+ readonly experimental_description?: string;
14480
14541
  readonly input: InputSchema;
14481
14542
  readonly output: OutputSchema;
14482
14543
  }
@@ -14682,6 +14743,16 @@ interface PluginThreadHeaderActionProps {
14682
14743
  */
14683
14744
  isCompactViewport: boolean;
14684
14745
  }
14746
+ interface ExperimentalPluginBrowserToolbarActionProps {
14747
+ /** Thread that owns the Browser tab. */
14748
+ threadId: string;
14749
+ /** Browser tab currently rendering the action. */
14750
+ tabId: string;
14751
+ /** Current top-level URL shown in the address bar. */
14752
+ url: string;
14753
+ /** True when the Browser chrome needs compact controls. */
14754
+ isCompactViewport: boolean;
14755
+ }
14685
14756
  /**
14686
14757
  * Where a file being opened by a `fileOpener` lives. `path` semantics follow
14687
14758
  * the source: workspace paths are relative to the environment's worktree,
@@ -15405,6 +15476,14 @@ interface PluginThreadHeaderActionRegistration {
15405
15476
  title: string;
15406
15477
  component: ComponentType<PluginThreadHeaderActionProps>;
15407
15478
  }
15479
+ interface ExperimentalPluginBrowserToolbarActionRegistration {
15480
+ /** Unique within the plugin; letters, digits, `-`, `_`. */
15481
+ id: string;
15482
+ /** Accessible name for the host-wrapped control group. */
15483
+ title: string;
15484
+ /** Component rendered beside the Browser address bar. */
15485
+ component: ComponentType<ExperimentalPluginBrowserToolbarActionProps>;
15486
+ }
15408
15487
  /** One pane's place in the split layout, as fractions of the split area. */
15409
15488
  interface PluginSidebarSplitPane {
15410
15489
  paneId: string;
@@ -15617,8 +15696,8 @@ interface PluginMessageActionRegistration {
15617
15696
  */
15618
15697
  run(context: PluginMessageActionContext): void | Promise<void>;
15619
15698
  }
15620
- /** Context handed to a `commandPaletteAction`'s `isAvailable` and `run`. */
15621
- interface PluginCommandPaletteActionContext {
15699
+ /** Current context for palette and keyboard command invocations. */
15700
+ interface PluginCommandContext {
15622
15701
  /** The thread in view, or null on a surface without one. */
15623
15702
  threadId: string | null;
15624
15703
  projectId: string | null;
@@ -15634,27 +15713,49 @@ interface PluginCommandPaletteActionContext {
15634
15713
  */
15635
15714
  openPanel(options: PluginTargetedPanelActionOpenOptions): boolean;
15636
15715
  }
15716
+ /** A default keyboard shortcut. Omitted modifiers are false. */
15717
+ interface PluginCommandShortcut {
15718
+ key: string;
15719
+ /** Command on macOS, Control elsewhere. */
15720
+ mod?: boolean;
15721
+ meta?: boolean;
15722
+ control?: boolean;
15723
+ alt?: boolean;
15724
+ shift?: boolean;
15725
+ }
15637
15726
  /**
15638
- * A row in bb's quick palette (Mod+Shift+P), listed under the plugin's name
15727
+ * A command registered with `app.commands.register`, listed in bb's quick
15728
+ * palette (Mod+Shift+P) under the plugin's name
15639
15729
  * beside bb's own commands. Host-rendered: the plugin supplies a title and
15640
15730
  * `run`, and the host owns matching, ordering, and recency.
15641
15731
  */
15642
- interface PluginCommandPaletteActionRegistration {
15732
+ interface PluginCommandRegistration {
15733
+ /** Initial keyboard binding. Users can rebind every command, including ones without a default. Conflicting defaults remain unbound. */
15734
+ defaultShortcut?: PluginCommandShortcut;
15643
15735
  /** Unique within the plugin; letters, digits, `-`, `_`. */
15644
15736
  id: string;
15645
15737
  /** The row's label, e.g. "Linear: open issue for this thread". */
15646
15738
  title: string;
15647
15739
  /**
15648
15740
  * Hide the row when it cannot do anything — typically when it needs a thread
15649
- * and there is none. Called while the palette is open; keep it cheap and
15650
- * synchronous. Omitted means always listed.
15741
+ * and there is none. Called before palette listing and keyboard invocation;
15742
+ * keep it cheap and synchronous. Omitted means always listed.
15651
15743
  */
15652
- isAvailable?(context: PluginCommandPaletteActionContext): boolean;
15744
+ isAvailable?(context: PluginCommandContext): boolean;
15653
15745
  /**
15654
- * Runs after the palette closes and focus is restored. Errors (sync or
15655
- * async) are contained and logged; they never break the palette.
15746
+ * Runs on keyboard invocation, or after the palette closes and focus is
15747
+ * restored. Errors (sync or async) are contained and logged; they never break the palette.
15656
15748
  */
15657
- run(context: PluginCommandPaletteActionContext): void | Promise<void>;
15749
+ run(context: PluginCommandContext): void | Promise<void>;
15750
+ }
15751
+ /** @deprecated Use PluginCommandContext. */
15752
+ type PluginCommandPaletteActionContext = PluginCommandContext;
15753
+ /** @deprecated Use PluginCommandRegistration. */
15754
+ type PluginCommandPaletteActionRegistration = PluginCommandRegistration;
15755
+ /** Registers commands for bb's command palette. */
15756
+ interface PluginAppCommands {
15757
+ /** Register a command. IDs are unique within this plugin, including legacy slot registrations. */
15758
+ register(registration: PluginCommandRegistration): void;
15658
15759
  }
15659
15760
  /**
15660
15761
  * Supply an inline React mark for a provider. Agent, machine, and environment
@@ -15885,6 +15986,8 @@ interface PluginAppSlots {
15885
15986
  * docs/api_to_audit.md.
15886
15987
  */
15887
15988
  experimental_threadHeaderAction(registration: PluginThreadHeaderActionRegistration): void;
15989
+ /** Render a component beside each Browser tab's address bar. */
15990
+ experimental_browserToolbarAction(registration: ExperimentalPluginBrowserToolbarActionRegistration): void;
15888
15991
  fileOpener(registration: PluginFileOpenerRegistration): void;
15889
15992
  /**
15890
15993
  * Replace BB's source-code renderer (see
@@ -15901,10 +16004,10 @@ interface PluginAppSlots {
15901
16004
  messageDirective(registration: PluginMessageDirectiveRegistration): void;
15902
16005
  messageAction(registration: PluginMessageActionRegistration): void;
15903
16006
  /**
15904
- * Add a row to the quick palette (see
15905
- * {@link PluginCommandPaletteActionRegistration}).
16007
+ * @deprecated Use `app.commands.register` with the same registration.
16008
+ * Both entry points share the same command registry and ID namespace.
15906
16009
  */
15907
- commandPaletteAction(registration: PluginCommandPaletteActionRegistration): void;
16010
+ commandPaletteAction(registration: PluginCommandRegistration): void;
15908
16011
  /**
15909
16012
  * Draw one agent, environment, or machine provider's icon with an inline
15910
16013
  * React component instead of its masked logo asset (see
@@ -16036,6 +16139,7 @@ interface ExperimentalAppIcons {
16036
16139
  }
16037
16140
  interface PluginAppBuilder {
16038
16141
  experimental_icons: ExperimentalAppIcons;
16142
+ commands: PluginAppCommands;
16039
16143
  slots: PluginAppSlots;
16040
16144
  composer: PluginAppComposer;
16041
16145
  contentScripts: PluginAppContentScripts;
@@ -16242,7 +16346,7 @@ interface PluginComposerApi {
16242
16346
  focus(): void;
16243
16347
  /**
16244
16348
  * Submit this composer's draft through the composer's OWN submit pipeline,
16245
- * queued until `sendAt` instead of dispatched now.
16349
+ * optionally scheduling it or attaching plugin-owned dispatch data.
16246
16350
  *
16247
16351
  * This is a real submission, not a plugin-issued send: the host builds the
16248
16352
  * request exactly as pressing Enter would, so the draft's attachments and
@@ -16252,12 +16356,11 @@ interface PluginComposerApi {
16252
16356
  * tuple itself, which is why sending from the backend instead would silently
16253
16357
  * run the message with different settings than the ones in front of the user.
16254
16358
  *
16255
- * In a thread composer the message is queued as a row instead of being
16256
- * sent or queued for the next idle moment. In the new-thread composer the
16257
- * thread is created `pending` and its first message becomes the queued row.
16258
- * Either way the resulting row is core's: the queued card above the
16259
- * composer, the countdown, Send now and Delete all work with no further
16260
- * plugin involvement.
16359
+ * `sendAt` queues the submission until that time. `experimental_data` is
16360
+ * opaque JSON delivered to dispatch hooks together with the calling plugin's
16361
+ * id on this initial attempt. Hooks run before operational core waits. If a
16362
+ * hook queues the message, its existing plugin wait identifies the owner on
16363
+ * later attempts; core does not persist or interpret the opaque data.
16261
16364
  *
16262
16365
  * Resolves once the host has accepted the submission and cleared the draft.
16263
16366
  * Rejects when the composer refused to submit — a scope with no submit
@@ -16274,18 +16377,17 @@ interface PluginComposerApi {
16274
16377
  /**
16275
16378
  * What `experimental_submit` does differently from pressing Enter.
16276
16379
  *
16277
- * There is deliberately no zero-argument overload and no "submit now" arm: a
16278
- * plugin that wants a draft sent immediately is asking for the affordance the
16279
- * user already has, and handing plugins an unconditional "send this draft"
16280
- * button is a much larger surface than scheduling needs.
16380
+ * `experimental_data` is opaque JSON delivered to dispatch hooks. The runtime
16381
+ * associates it with the calling plugin automatically for the initial
16382
+ * dispatch attempt.
16281
16383
  */
16282
- interface ExperimentalComposerSubmitOptions {
16283
- /**
16284
- * Epoch ms the submission should dispatch at. Must be in the future; the
16285
- * host does not second-guess how far ahead it is.
16286
- */
16384
+ type ExperimentalComposerSubmitOptions = {
16287
16385
  sendAt: number;
16288
- }
16386
+ experimental_data?: JsonValue;
16387
+ } | {
16388
+ experimental_data: JsonValue;
16389
+ sendAt?: never;
16390
+ };
16289
16391
  /**
16290
16392
  * A consumer-supplied action on the messages of one `ThreadChat` instance,
16291
16393
  * rendered in the embedded timeline's per-message action bar alongside the
@@ -17652,6 +17754,7 @@ interface PluginCheckUpdatesArgs {
17652
17754
  signal?: AbortSignal;
17653
17755
  }
17654
17756
  interface PluginRpcArgs<TOutput> extends PluginIdArgs {
17757
+ signal?: AbortSignal;
17655
17758
  input?: JsonValue$1;
17656
17759
  method: string;
17657
17760
  outputSchema: z$1.ZodType<TOutput>;
@@ -17709,6 +17812,7 @@ interface PluginMarketplacesArea {
17709
17812
  remove(args: PluginMarketplaceRemoveArgs): Promise<PluginMarketplaceRemoveResult>;
17710
17813
  }
17711
17814
  interface PluginsArea {
17815
+ experimental_discoverRpc(args?: PluginRpcDiscoveryQuery): Promise<PublishedPluginRpcMethod[]>;
17712
17816
  applyUpdate(args: PluginIdArgs): Promise<PluginApplyUpdateResult>;
17713
17817
  callRpc<TOutput>(args: PluginRpcArgs<TOutput>): Promise<TOutput>;
17714
17818
  checkUpdates(args?: PluginCheckUpdatesArgs): Promise<PluginCheckUpdatesResult>;
@@ -18883,8 +18987,8 @@ interface PluginThreadEventPayloads {
18883
18987
  /**
18884
18988
  * Fired after a dispatch attempt is queued as a row — by a `message.dispatch`
18885
18989
  * hook's `wait` decision, by a `sendAt` in the future, or by a core wait (the
18886
- * thread is busy, its turn is still starting, provisioning, or awaiting an
18887
- * interaction).
18990
+ * thread is busy, its turn is still starting, provisioning, stopping, or
18991
+ * awaiting an interaction).
18888
18992
  *
18889
18993
  * Every listener sees every queued row, not just the ones it is holding: an
18890
18994
  * observer that only wants its own filters on
@@ -19190,6 +19294,16 @@ interface MessageDispatchHookContext {
19190
19294
  * double-count.
19191
19295
  */
19192
19296
  queuedMessage: ThreadQueuedMessage | null;
19297
+ /**
19298
+ * Opaque JSON supplied by a plugin through the composer's
19299
+ * `experimental_submit`, paired with that plugin's id. Null for ordinary
19300
+ * submissions and queued re-attempts. Core does not persist or interpret
19301
+ * the data.
19302
+ */
19303
+ experimental_submission: {
19304
+ pluginId: string;
19305
+ data: JsonValue;
19306
+ } | null;
19193
19307
  /** How the dispatch was requested; null for internal/core-driven sends. */
19194
19308
  origin: ThreadCreateOrigin | null;
19195
19309
  originPluginId: string | null;
@@ -19334,7 +19448,10 @@ interface PluginRpc {
19334
19448
  * serialization. The response is `{ ok: true, result }` or
19335
19449
  * `{ ok: false, error: { code, message, issues? } }`.
19336
19450
  */
19337
- register<Contract extends PluginRpcContract>(contract: Contract, handlers: PluginRpcHandlers<Contract>): void;
19451
+ register<Contract extends PluginRpcContract>(contract: Contract, handlers: PluginRpcHandlers<Contract>, options?: {
19452
+ experimental_discoverable?: boolean;
19453
+ experimental_description?: string;
19454
+ }): void;
19338
19455
  }
19339
19456
  interface PluginRealtime {
19340
19457
  /**
@@ -20067,6 +20184,16 @@ interface PluginMentionItem {
20067
20184
  subtitle?: string;
20068
20185
  icon?: string;
20069
20186
  }
20187
+ /** Agent-only image context resolved with a plugin mention. */
20188
+ type ExperimentalPluginMentionImage = {
20189
+ type: "image";
20190
+ url: string;
20191
+ context?: string;
20192
+ } | {
20193
+ type: "localImage";
20194
+ path: string;
20195
+ context?: string;
20196
+ };
20070
20197
  interface PluginMentionProviderRegistration {
20071
20198
  /** Unique within this plugin: [a-zA-Z0-9_-]+ (no ":" — the host composes
20072
20199
  * wire item ids as "<providerId>:<itemId>"). */
@@ -20093,8 +20220,10 @@ interface PluginMentionProviderRegistration {
20093
20220
  */
20094
20221
  resolve(itemId: string): {
20095
20222
  context: string;
20223
+ experimental_images?: readonly ExperimentalPluginMentionImage[];
20096
20224
  } | Promise<{
20097
20225
  context: string;
20226
+ experimental_images?: readonly ExperimentalPluginMentionImage[];
20098
20227
  }>;
20099
20228
  }
20100
20229
  interface PluginUi {
@@ -20319,4 +20448,4 @@ interface BbPluginApi {
20319
20448
  }
20320
20449
 
20321
20450
  export { PLUGIN_CLI_OUTPUT_MAX_BYTES, defineRpcContract, experimental_defineHostEntry };
20322
- 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 };
20451
+ 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, 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 };