@get-bb/plugin-sdk 0.5.15 → 0.5.23

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.
@@ -224,6 +224,7 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
224
224
  "thread.previous": "thread.previous";
225
225
  "thread.rename": "thread.rename";
226
226
  "thread.search": "thread.search";
227
+ "window.find": "window.find";
227
228
  "window.new": "window.new";
228
229
  "workspace.openPreferred": "workspace.openPreferred";
229
230
  }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
@@ -377,6 +378,7 @@ declare const changedMessageSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
377
378
  type: z$1.ZodLiteral<"changed">;
378
379
  }, z$1.core.$strict>, z$1.ZodObject<{
379
380
  changes: z$1.ZodReadonly<z$1.ZodArray<z$1.ZodEnum<{
381
+ "app-update-changed": "app-update-changed";
380
382
  "config-changed": "config-changed";
381
383
  "environment-availability-changed": "environment-availability-changed";
382
384
  "plugins-changed": "plugins-changed";
@@ -473,10 +475,8 @@ type Environment = z$1.infer<typeof environmentSchema>;
473
475
  declare const experimentsSchema: z$1.ZodRecord<z$1.ZodEnum<{
474
476
  changelogPreview: "changelogPreview";
475
477
  mobileApp: "mobileApp";
476
- multiMachinePicker: "multiMachinePicker";
477
478
  serverMove: "serverMove";
478
479
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
479
- timelineWindowing: "timelineWindowing";
480
480
  }>, z$1.ZodBoolean>;
481
481
  type Experiments = z$1.infer<typeof experimentsSchema>;
482
482
 
@@ -9014,6 +9014,12 @@ declare const hostEnrollmentCommandResponseSchema: z$1.ZodNullable<z$1.ZodObject
9014
9014
  expiresAt: z$1.ZodNumber;
9015
9015
  }, z$1.core.$strip>>;
9016
9016
  type HostEnrollmentCommandResponse = z$1.infer<typeof hostEnrollmentCommandResponseSchema>;
9017
+ declare const hostReconnectResponseSchema: z$1.ZodObject<{
9018
+ command: z$1.ZodString;
9019
+ expiresAt: z$1.ZodNumber;
9020
+ hostId: z$1.ZodString;
9021
+ }, z$1.core.$strict>;
9022
+ type HostReconnectResponse = z$1.infer<typeof hostReconnectResponseSchema>;
9017
9023
  declare const createHostJoinCodeResponseSchema: z$1.ZodObject<{
9018
9024
  expiresAt: z$1.ZodNumber;
9019
9025
  hostId: z$1.ZodString;
@@ -9701,6 +9707,7 @@ declare const systemExecutionOptionsResponseSchema: z$1.ZodObject<{
9701
9707
  provider_unavailable: "provider_unavailable";
9702
9708
  timeout: "timeout";
9703
9709
  }>;
9710
+ detail: z$1.ZodNullable<z$1.ZodString>;
9704
9711
  providerId: z$1.ZodString;
9705
9712
  }, z$1.core.$strip>>;
9706
9713
  models: z$1.ZodArray<z$1.ZodObject<{
@@ -9907,21 +9914,93 @@ declare const systemProviderStatesResponseSchema: z$1.ZodObject<{
9907
9914
  }, z$1.core.$loose>>;
9908
9915
  }, z$1.core.$strip>;
9909
9916
  type SystemProviderStatesResponse = z$1.infer<typeof systemProviderStatesResponseSchema>;
9910
- declare const systemConfigResponseSchema: z$1.ZodObject<{
9911
- aiServices: z$1.ZodObject<{
9912
- inference: z$1.ZodString;
9913
- inferenceFallback: z$1.ZodString;
9914
- services: z$1.ZodArray<z$1.ZodObject<{
9915
- displayName: z$1.ZodString;
9916
- id: z$1.ZodString;
9917
- kinds: z$1.ZodArray<z$1.ZodEnum<{
9918
- inference: "inference";
9919
- voice: "voice";
9920
- }>>;
9917
+ declare const systemAiServicesResponseSchema: z$1.ZodObject<{
9918
+ selections: z$1.ZodObject<{
9919
+ "commit-message": z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9920
+ mode: z$1.ZodLiteral<"automatic">;
9921
+ }, z$1.core.$strict>, z$1.ZodObject<{
9922
+ mode: z$1.ZodLiteral<"off">;
9923
+ }, z$1.core.$strict>, z$1.ZodObject<{
9924
+ mode: z$1.ZodLiteral<"service">;
9921
9925
  pluginId: z$1.ZodString;
9922
- }, z$1.core.$strip>>;
9923
- transcription: z$1.ZodString;
9924
- }, z$1.core.$strip>;
9926
+ serviceId: z$1.ZodString;
9927
+ }, z$1.core.$strict>], "mode">;
9928
+ "thread-title": z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9929
+ mode: z$1.ZodLiteral<"automatic">;
9930
+ }, z$1.core.$strict>, z$1.ZodObject<{
9931
+ mode: z$1.ZodLiteral<"off">;
9932
+ }, z$1.core.$strict>, z$1.ZodObject<{
9933
+ mode: z$1.ZodLiteral<"service">;
9934
+ pluginId: z$1.ZodString;
9935
+ serviceId: z$1.ZodString;
9936
+ }, z$1.core.$strict>], "mode">;
9937
+ voice: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9938
+ mode: z$1.ZodLiteral<"automatic">;
9939
+ }, z$1.core.$strict>, z$1.ZodObject<{
9940
+ mode: z$1.ZodLiteral<"off">;
9941
+ }, z$1.core.$strict>, z$1.ZodObject<{
9942
+ mode: z$1.ZodLiteral<"service">;
9943
+ pluginId: z$1.ZodString;
9944
+ serviceId: z$1.ZodString;
9945
+ }, z$1.core.$strict>], "mode">;
9946
+ }, z$1.core.$strict>;
9947
+ services: z$1.ZodArray<z$1.ZodObject<{
9948
+ automaticRank: z$1.ZodNullable<z$1.ZodNumber>;
9949
+ displayName: z$1.ZodString;
9950
+ id: z$1.ZodString;
9951
+ pluginId: z$1.ZodString;
9952
+ status: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9953
+ ready: z$1.ZodLiteral<true>;
9954
+ }, z$1.core.$strict>, z$1.ZodObject<{
9955
+ message: z$1.ZodString;
9956
+ ready: z$1.ZodLiteral<false>;
9957
+ }, z$1.core.$strict>], "ready">;
9958
+ tasks: z$1.ZodArray<z$1.ZodEnum<{
9959
+ "commit-message": "commit-message";
9960
+ "thread-title": "thread-title";
9961
+ voice: "voice";
9962
+ }>>;
9963
+ }, z$1.core.$strip>>;
9964
+ }, z$1.core.$strip>;
9965
+ type SystemAiServicesResponse = z$1.infer<typeof systemAiServicesResponseSchema>;
9966
+ declare const setAiServiceSelectionRequestSchema: z$1.ZodObject<{
9967
+ selection: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9968
+ mode: z$1.ZodLiteral<"automatic">;
9969
+ }, z$1.core.$strict>, z$1.ZodObject<{
9970
+ mode: z$1.ZodLiteral<"off">;
9971
+ }, z$1.core.$strict>, z$1.ZodObject<{
9972
+ mode: z$1.ZodLiteral<"service">;
9973
+ pluginId: z$1.ZodString;
9974
+ serviceId: z$1.ZodString;
9975
+ }, z$1.core.$strict>], "mode">;
9976
+ task: z$1.ZodEnum<{
9977
+ "commit-message": "commit-message";
9978
+ "thread-title": "thread-title";
9979
+ voice: "voice";
9980
+ }>;
9981
+ }, z$1.core.$strict>;
9982
+ type SetAiServiceSelectionRequest = z$1.infer<typeof setAiServiceSelectionRequestSchema>;
9983
+ declare const testAiServiceRequestSchema: z$1.ZodObject<{
9984
+ task: z$1.ZodEnum<{
9985
+ "commit-message": "commit-message";
9986
+ "thread-title": "thread-title";
9987
+ }>;
9988
+ }, z$1.core.$strict>;
9989
+ type TestAiServiceRequest = z$1.infer<typeof testAiServiceRequestSchema>;
9990
+ declare const testAiServiceResponseSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9991
+ displayName: z$1.ZodString;
9992
+ durationMs: z$1.ZodNumber;
9993
+ ok: z$1.ZodLiteral<true>;
9994
+ pluginId: z$1.ZodString;
9995
+ serviceId: z$1.ZodString;
9996
+ text: z$1.ZodString;
9997
+ }, z$1.core.$strip>, z$1.ZodObject<{
9998
+ durationMs: z$1.ZodNumber;
9999
+ message: z$1.ZodString;
10000
+ ok: z$1.ZodLiteral<false>;
10001
+ }, z$1.core.$strip>], "ok">;
10002
+ type TestAiServiceResponse = z$1.infer<typeof testAiServiceResponseSchema>;
10003
+ declare const systemConfigResponseSchema: z$1.ZodObject<{
9925
10004
  appearance: z$1.ZodObject<{
9926
10005
  customCss: z$1.ZodNullable<z$1.ZodString>;
9927
10006
  faviconColor: z$1.ZodEnum<{
@@ -10015,6 +10094,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10015
10094
  "thread.previous": "thread.previous";
10016
10095
  "thread.rename": "thread.rename";
10017
10096
  "thread.search": "thread.search";
10097
+ "window.find": "window.find";
10018
10098
  "window.new": "window.new";
10019
10099
  "workspace.openPreferred": "workspace.openPreferred";
10020
10100
  }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
@@ -10059,10 +10139,8 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10059
10139
  experiments: z$1.ZodRecord<z$1.ZodEnum<{
10060
10140
  changelogPreview: "changelogPreview";
10061
10141
  mobileApp: "mobileApp";
10062
- multiMachinePicker: "multiMachinePicker";
10063
10142
  serverMove: "serverMove";
10064
10143
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
10065
- timelineWindowing: "timelineWindowing";
10066
10144
  }>, z$1.ZodBoolean>;
10067
10145
  featureFlags: z$1.ZodObject<{
10068
10146
  placeholder: z$1.ZodBoolean;
@@ -10158,6 +10236,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10158
10236
  "thread.previous": "thread.previous";
10159
10237
  "thread.rename": "thread.rename";
10160
10238
  "thread.search": "thread.search";
10239
+ "window.find": "window.find";
10161
10240
  "window.new": "window.new";
10162
10241
  "workspace.openPreferred": "workspace.openPreferred";
10163
10242
  }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
@@ -10241,6 +10320,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10241
10320
  "thread.previous": "thread.previous";
10242
10321
  "thread.rename": "thread.rename";
10243
10322
  "thread.search": "thread.search";
10323
+ "window.find": "window.find";
10244
10324
  "window.new": "window.new";
10245
10325
  "workspace.openPreferred": "workspace.openPreferred";
10246
10326
  }>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
@@ -10368,6 +10448,94 @@ declare const systemVersionResponseSchema: z$1.ZodObject<{
10368
10448
  upgradeCommand: z$1.ZodString;
10369
10449
  }, z$1.core.$strip>;
10370
10450
  type SystemVersionResponse = z$1.infer<typeof systemVersionResponseSchema>;
10451
+ declare const systemAppUpdateStatusSchema: z$1.ZodObject<{
10452
+ activity: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
10453
+ phase: z$1.ZodLiteral<"idle">;
10454
+ }, z$1.core.$strip>, z$1.ZodObject<{
10455
+ output: z$1.ZodArray<z$1.ZodString>;
10456
+ phase: z$1.ZodLiteral<"preparing">;
10457
+ startedAt: z$1.ZodString;
10458
+ step: z$1.ZodString;
10459
+ targetVersion: z$1.ZodString;
10460
+ }, z$1.core.$strip>, z$1.ZodObject<{
10461
+ phase: z$1.ZodLiteral<"restarting">;
10462
+ startedAt: z$1.ZodString;
10463
+ targetVersion: z$1.ZodString;
10464
+ }, z$1.core.$strip>], "phase">;
10465
+ available: z$1.ZodNullable<z$1.ZodObject<{
10466
+ channel: z$1.ZodEnum<{
10467
+ latest: "latest";
10468
+ main: "main";
10469
+ nightly: "nightly";
10470
+ }>;
10471
+ commit: z$1.ZodNullable<z$1.ZodString>;
10472
+ commitCount: z$1.ZodNullable<z$1.ZodNumber>;
10473
+ subjects: z$1.ZodArray<z$1.ZodString>;
10474
+ version: z$1.ZodString;
10475
+ }, z$1.core.$strip>>;
10476
+ blocked: z$1.ZodNullable<z$1.ZodObject<{
10477
+ message: z$1.ZodString;
10478
+ reason: z$1.ZodEnum<{
10479
+ "detached-head": "detached-head";
10480
+ "fetch-failed": "fetch-failed";
10481
+ "not-on-main": "not-on-main";
10482
+ "uncommitted-changes": "uncommitted-changes";
10483
+ diverged: "diverged";
10484
+ }>;
10485
+ }, z$1.core.$strip>>;
10486
+ current: z$1.ZodObject<{
10487
+ commit: z$1.ZodNullable<z$1.ZodString>;
10488
+ version: z$1.ZodString;
10489
+ }, z$1.core.$strip>;
10490
+ lastResult: z$1.ZodNullable<z$1.ZodObject<{
10491
+ acknowledged: z$1.ZodBoolean;
10492
+ finishedAt: z$1.ZodString;
10493
+ from: z$1.ZodObject<{
10494
+ commit: z$1.ZodNullable<z$1.ZodString>;
10495
+ version: z$1.ZodString;
10496
+ }, z$1.core.$strip>;
10497
+ id: z$1.ZodString;
10498
+ logTail: z$1.ZodArray<z$1.ZodString>;
10499
+ message: z$1.ZodNullable<z$1.ZodString>;
10500
+ outcome: z$1.ZodEnum<{
10501
+ failed: "failed";
10502
+ updated: "updated";
10503
+ }>;
10504
+ phase: z$1.ZodNullable<z$1.ZodEnum<{
10505
+ install: "install";
10506
+ prepare: "prepare";
10507
+ startup: "startup";
10508
+ }>>;
10509
+ to: z$1.ZodObject<{
10510
+ commit: z$1.ZodNullable<z$1.ZodString>;
10511
+ version: z$1.ZodString;
10512
+ }, z$1.core.$strip>;
10513
+ }, z$1.core.$strip>>;
10514
+ runningThreadCount: z$1.ZodNumber;
10515
+ support: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
10516
+ kind: z$1.ZodLiteral<"supported">;
10517
+ mode: z$1.ZodEnum<{
10518
+ npm: "npm";
10519
+ source: "source";
10520
+ }>;
10521
+ }, z$1.core.$strip>, z$1.ZodObject<{
10522
+ kind: z$1.ZodLiteral<"unsupported">;
10523
+ reason: z$1.ZodEnum<{
10524
+ desktop: "desktop";
10525
+ development: "development";
10526
+ unmanaged: "unmanaged";
10527
+ }>;
10528
+ }, z$1.core.$strip>], "kind">;
10529
+ }, z$1.core.$strip>;
10530
+ type SystemAppUpdateStatus = z$1.infer<typeof systemAppUpdateStatusSchema>;
10531
+ declare const systemAppUpdateApplyRequestSchema: z$1.ZodObject<{
10532
+ confirmInterruptingThreads: z$1.ZodBoolean;
10533
+ }, z$1.core.$strip>;
10534
+ type SystemAppUpdateApplyRequest = z$1.infer<typeof systemAppUpdateApplyRequestSchema>;
10535
+ declare const systemAppUpdateAcknowledgeRequestSchema: z$1.ZodObject<{
10536
+ id: z$1.ZodString;
10537
+ }, z$1.core.$strip>;
10538
+ type SystemAppUpdateAcknowledgeRequest = z$1.infer<typeof systemAppUpdateAcknowledgeRequestSchema>;
10371
10539
  declare const systemConfigReloadResponseSchema: z$1.ZodObject<{
10372
10540
  ok: z$1.ZodLiteral<true>;
10373
10541
  }, z$1.core.$strip>;
@@ -15348,6 +15516,9 @@ interface HostRetryUpdateArgs {
15348
15516
  interface HostActionArgs {
15349
15517
  hostId: string;
15350
15518
  }
15519
+ interface HostReconnectArgs extends HostActionArgs {
15520
+ signal?: AbortSignal;
15521
+ }
15351
15522
  interface HostDirectoryArgs extends HostDirectoryQuery {
15352
15523
  hostId: string;
15353
15524
  signal?: AbortSignal;
@@ -15387,6 +15558,7 @@ type HostGetResult = Host & {
15387
15558
  connectMachineId: string | null;
15388
15559
  };
15389
15560
  type HostEnrollmentCommandResult = HostEnrollmentCommandResponse;
15561
+ type HostReconnectResult = HostReconnectResponse;
15390
15562
  type HostCloneDefaultPathResult = HostCloneDefaultPathResponse;
15391
15563
  type HostProviderCliInstallResult = HostProviderCliInstallEvent[];
15392
15564
  type HostListResult = Host[];
@@ -15400,6 +15572,7 @@ type MachineProviderListResult = SystemMachineProvider[];
15400
15572
  interface HostsArea {
15401
15573
  experimental_create(args: MachineCreateArgs): Promise<Host>;
15402
15574
  experimental_getEnrollmentCommand(args: HostGetArgs): Promise<HostEnrollmentCommandResult>;
15575
+ experimental_reconnect(args: HostReconnectArgs): Promise<HostReconnectResult>;
15403
15576
  /** @deprecated Use experimental_create() and experimental_getEnrollmentCommand() for bootstrap enrollment. */
15404
15577
  createJoinCode(): Promise<HostCreateJoinCodeResult>;
15405
15578
  delete(args: HostDeleteArgs): Promise<HostDeleteResult>;
@@ -15965,6 +16138,13 @@ interface SystemVersionArgs {
15965
16138
  force?: boolean;
15966
16139
  signal?: AbortSignal;
15967
16140
  }
16141
+ interface SystemAppUpdateArgs {
16142
+ force?: boolean;
16143
+ signal?: AbortSignal;
16144
+ }
16145
+ type SystemApplyAppUpdateArgs = SystemAppUpdateApplyRequest;
16146
+ type SystemAcknowledgeAppUpdateArgs = SystemAppUpdateAcknowledgeRequest;
16147
+ type SystemAppUpdateStatusResult = SystemAppUpdateStatus;
15968
16148
  interface SystemVoiceTranscriptionArgs {
15969
16149
  file: Blob;
15970
16150
  prompt?: string;
@@ -15972,6 +16152,13 @@ interface SystemVoiceTranscriptionArgs {
15972
16152
  }
15973
16153
  type SystemAttentionResult = SystemAttentionResponse;
15974
16154
  type SystemConfigResult = SystemConfigResponse;
16155
+ type SystemAiServicesResult = SystemAiServicesResponse;
16156
+ type SystemSetAiServiceSelectionArgs = SetAiServiceSelectionRequest;
16157
+ type SystemTestAiServiceArgs = TestAiServiceRequest;
16158
+ type SystemTestAiServiceResult = TestAiServiceResponse;
16159
+ interface SystemAiServicesArgs {
16160
+ signal?: AbortSignal;
16161
+ }
15975
16162
  type SystemExecutionOptionsResult = SystemExecutionOptionsResponse;
15976
16163
  type SystemReloadConfigResult = SystemConfigReloadResponse;
15977
16164
  type SystemInstallCliSkillsArgs = SystemInstallCliSkillsRequest;
@@ -16018,12 +16205,15 @@ interface SystemArea {
16018
16205
  }): Promise<MachineEnvironmentList>;
16019
16206
  machineEnvironment(): Promise<MachineEnvironmentList>;
16020
16207
  replaceMachineEnvironment(input: MachineEnvironmentReplace): Promise<MachineEnvironmentList>;
16208
+ aiServices(args?: SystemAiServicesArgs): Promise<SystemAiServicesResult>;
16021
16209
  attention(args?: SystemAttentionArgs): Promise<SystemAttentionResult>;
16022
16210
  config(args?: SystemConfigArgs): Promise<SystemConfigResult>;
16023
16211
  executionOptions(args?: SystemExecutionOptionsArgs): Promise<SystemExecutionOptionsResult>;
16024
16212
  cliSkillsStatus(args?: SystemCliSkillsStatusArgs): Promise<SystemCliSkillsStatusResult>;
16025
16213
  installCliSkills(args: SystemInstallCliSkillsArgs): Promise<SystemInstallCliSkillsResult>;
16026
16214
  reloadConfig(): Promise<SystemReloadConfigResult>;
16215
+ setAiServiceSelection(args: SystemSetAiServiceSelectionArgs): Promise<SystemAiServicesResult>;
16216
+ testAiService(args: SystemTestAiServiceArgs): Promise<SystemTestAiServiceResult>;
16027
16217
  transcribeVoice(args: SystemVoiceTranscriptionArgs): Promise<SystemVoiceTranscriptionResult>;
16028
16218
  uiPreferences: SystemUiPreferencesArea;
16029
16219
  updateExperiments(args: Experiments): Promise<SystemUpdateExperimentsResult>;
@@ -16032,6 +16222,9 @@ interface SystemArea {
16032
16222
  providerStates(args?: SystemProviderStatesArgs): Promise<SystemProviderStatesResult>;
16033
16223
  usageLimits(args?: SystemUsageLimitsArgs): Promise<SystemUsageLimitsResult>;
16034
16224
  version(args?: SystemVersionArgs): Promise<SystemVersionResult>;
16225
+ appUpdate(args?: SystemAppUpdateArgs): Promise<SystemAppUpdateStatusResult>;
16226
+ applyAppUpdate(args: SystemApplyAppUpdateArgs): Promise<SystemAppUpdateStatusResult>;
16227
+ acknowledgeAppUpdate(args: SystemAcknowledgeAppUpdateArgs): Promise<SystemAppUpdateStatusResult>;
16035
16228
  }
16036
16229
 
16037
16230
  interface TerminalThreadScope {
@@ -16754,6 +16947,30 @@ interface PluginPendingInteractionProps {
16754
16947
  submit(value: JsonValue): Promise<void>;
16755
16948
  cancel(): Promise<void>;
16756
16949
  }
16950
+ /** Display and accessibility metadata for a host-owned answer shortcut. */
16951
+ interface ExperimentalQuestionShortcut {
16952
+ label: string;
16953
+ ariaKeyshortcuts: string;
16954
+ }
16955
+ /**
16956
+ * The keyboard shortcuts bb binds while a pending interaction is open. The
16957
+ * host owns the bindings (users can remap them); a form shows them and decides
16958
+ * what choosing an option means.
16959
+ */
16960
+ interface ExperimentalQuestionFormHost {
16961
+ /**
16962
+ * Shortcut per zero-based option index, as a string (`"0"` is the first
16963
+ * option). Missing entries have no binding.
16964
+ */
16965
+ shortcuts: ReadonlyMap<string, ExperimentalQuestionShortcut>;
16966
+ /**
16967
+ * Receive the index of the option the person chose with a shortcut while
16968
+ * the thread's pane is focused. Return true when the index names an option
16969
+ * the form handled. The last registered handler wins; call the returned
16970
+ * function to unregister.
16971
+ */
16972
+ registerChoiceHandler(handler: (index: number) => boolean): () => void;
16973
+ }
16757
16974
  /**
16758
16975
  * Props for a `sidebarFooterAction` — host-rendered (no plugin component).
16759
16976
  * Deliberately empty; the registration's `run` carries the behavior.
@@ -17924,7 +18141,7 @@ interface PluginSidebarThreadActions {
17924
18141
  setRead(threadId: string, read: boolean): Promise<void>;
17925
18142
  /** Silent rename — no dialog. For inline editing in your own row. */
17926
18143
  rename(threadId: string, title: string): Promise<void>;
17927
- /** Archives the thread AND its children, closing any panes showing them. */
18144
+ /** Archives immediately, or confirms first if child threads will also be archived. */
17928
18145
  archive(threadId: string): void;
17929
18146
  /**
17930
18147
  * Opens bb's delete confirmation, which counts child threads first. Deletion
@@ -19507,6 +19724,22 @@ interface PluginSdkApp {
19507
19724
  useRealtimeConnectionState(): PluginRealtimeConnectionState;
19508
19725
  useSettings(): PluginSettingsState;
19509
19726
  useBbContext(): BbContext;
19727
+ /**
19728
+ * The id of the plugin that owns the calling component: the same id
19729
+ * `bb.pluginId` reports on the server, derived from the package name. Key
19730
+ * state the plugin keeps outside bb's per-plugin storage with it, such as
19731
+ * localStorage entries and log prefixes, so a copy of the plugin published
19732
+ * under another name does not collide with the original. Experimental: see
19733
+ * docs/api_to_audit.md.
19734
+ */
19735
+ experimental_usePluginId(): string;
19736
+ /**
19737
+ * The answer shortcuts bb binds while a pending interaction is open. Inside
19738
+ * a `pendingInteraction` component the form shows each option's shortcut and
19739
+ * registers a handler that chooses the option; outside one, the map is empty
19740
+ * and handlers never run. Experimental: see docs/api_to_audit.md.
19741
+ */
19742
+ experimental_useQuestionFormHost(): ExperimentalQuestionFormHost;
19510
19743
  useBbNavigate(): BbNavigate;
19511
19744
  /** Select one of this plugin's eligible fixed tabs on the current surface. */
19512
19745
  experimental_useAppPanel(): ExperimentalAppPanel;
@@ -19638,9 +19871,10 @@ interface PluginSdkApp {
19638
19871
  * surfaces without further work. Reserve `useRpc` for work that needs your
19639
19872
  * server: secrets, host files, or your plugin's own storage.
19640
19873
  *
19641
- * Writes made here are not optimistic in bb's surfaces; they land when the
19642
- * realtime update does. `experimental_useSidebarThreadActions()` stays the
19643
- * optimistic path for pin, read state, rename, and archive.
19874
+ * Thread title, section, and parent updates are optimistic in bb's surfaces
19875
+ * and synchronous calls are applied as one cache transaction. Other writes
19876
+ * land when their realtime update does. `experimental_useSidebarThreadActions()`
19877
+ * stays the optimistic path for pin, read state, rename, and archive.
19644
19878
  *
19645
19879
  * The client is stable for the plugin's lifetime, so it is safe in effect
19646
19880
  * and callback dependency lists.
@@ -21667,35 +21901,77 @@ interface PluginServerApi {
21667
21901
  */
21668
21902
  readonly experimental_dataDir: string;
21669
21903
  }
21904
+ /** Options for one `complete` call. */
21905
+ interface PluginAiCompleteOptions {
21906
+ /**
21907
+ * Aborted when bb stops waiting: the task timed out (5 seconds for titles
21908
+ * and commit messages) or the request was cancelled. Pass it to `fetch`.
21909
+ */
21910
+ readonly signal: AbortSignal;
21911
+ }
21912
+ /** Options for one `transcribe` call. */
21913
+ interface PluginAiTranscribeOptions {
21914
+ /** Aborted when bb stops waiting (10 seconds) or the request was cancelled. */
21915
+ readonly signal: AbortSignal;
21916
+ /**
21917
+ * Vocabulary the speaker is likely to use (names, identifiers), for
21918
+ * services that accept a transcription prompt; `null` when there is none.
21919
+ */
21920
+ readonly hint: string | null;
21921
+ }
21670
21922
  /**
21671
- * What a plugin's AI service does. `inference` answers bb's server-side helper
21672
- * completions (thread titles, commit messages: a prompt and a JSON Schema in,
21673
- * a structured value out); `voice` transcribes recorded speech.
21923
+ * Whether a service can answer right now. `message` is shown to the user
21924
+ * beside the service ("Sign in to your bb account") and should say how to
21925
+ * make it ready.
21674
21926
  */
21675
- type PluginAiServiceKind = "inference" | "voice";
21927
+ type PluginAiServiceStatus = {
21928
+ readonly ready: true;
21929
+ } | {
21930
+ readonly ready: false;
21931
+ readonly message: string;
21932
+ };
21676
21933
  /**
21677
- * An AI service a plugin offers from its `bb.host` entry, which implements
21678
- * `experimental_aiServicesHostContract` (`@get-bb/plugin-sdk/ai-services`).
21679
- * The user selects it with `BB_INFERENCE` / `BB_TRANSCRIPTION` set to
21680
- * `<id>/<model>`; core calls the plugin's host entry on the primary host with
21681
- * the `id` on every request, so one entry can serve several services.
21934
+ * An AI service bb can use for its helper tasks: thread titles and commit
21935
+ * messages (`complete`) and voice input (`transcribe`). The user picks a
21936
+ * service per task in Settings → AI services or with
21937
+ * `bb settings ai-services set`. The functions run in the plugin's server
21938
+ * process; a plugin that needs host-local state (a login file, a local model)
21939
+ * reaches its own `bb.host` entry through `bb.hosts.experimental_client`.
21940
+ *
21941
+ * bb owns the prompts and cleans up replies (think blocks, quotes, labels,
21942
+ * extra lines), so a service returns the model's text as-is. The plugin owns
21943
+ * everything behind the function: which model, which API, any retries.
21944
+ * Failure is a rejected promise.
21682
21945
  */
21683
21946
  interface PluginAiServiceDeclaration {
21684
- /** The `<serviceId>` segment of the user's setting; stable, lowercase. */
21947
+ /**
21948
+ * Stable, lowercase id, unique within this plugin. bb identifies a service
21949
+ * by plugin id and service id, so another plugin may use the same id.
21950
+ * `automatic` and `off` are reserved.
21951
+ */
21685
21952
  readonly id: string;
21686
- /** Shown beside the id wherever the setting's options are listed. */
21953
+ /** Shown in the picker; 1-64 characters. */
21687
21954
  readonly displayName: string;
21688
- /** Which kinds this service answers; a kind it lacks is not offered. */
21689
- readonly kinds: readonly PluginAiServiceKind[];
21955
+ /**
21956
+ * Answer one prompt with plain text. Offered for thread titles and commit
21957
+ * messages. Declare `complete`, `transcribe`, or both.
21958
+ */
21959
+ readonly complete?: (prompt: string, options: PluginAiCompleteOptions) => Promise<string>;
21960
+ /** Transcribe recorded speech to text. Offered for voice input. */
21961
+ readonly transcribe?: (audio: File, options: PluginAiTranscribeOptions) => Promise<string>;
21962
+ /**
21963
+ * Report whether the service can answer. bb calls it for the picker's
21964
+ * status line and to decide whether Automatic skips the service and
21965
+ * whether the microphone shows; results are cached for a few seconds.
21966
+ * Omit it when the service is always ready.
21967
+ */
21968
+ readonly status?: () => Promise<PluginAiServiceStatus>;
21690
21969
  }
21691
21970
  interface PluginAiServices {
21692
21971
  /**
21693
21972
  * Register an AI service. Call during the factory; the registration lands
21694
- * when the plugin load commits and is removed on reload or disable. The
21695
- * plugin must declare a `bb.host` entry; registering without one fails the
21696
- * load. A declared entry that fails to build fails the load on the build
21697
- * error after the factory, with any provider the factory declared listed
21698
- * as unavailable. Throws on an id another live plugin already serves.
21973
+ * when the plugin load commits and is removed on reload or disable. Throws
21974
+ * when this plugin already registered the id.
21699
21975
  */
21700
21976
  register(declaration: PluginAiServiceDeclaration): {
21701
21977
  dispose(): void;
@@ -21817,8 +22093,8 @@ interface BbPluginApi {
21817
22093
  /** Server-to-daemon host control-plane declarations. */
21818
22094
  readonly hosts: PluginHosts;
21819
22095
  /**
21820
- * AI services this plugin serves from its `bb.host` entry (helper
21821
- * inference, voice transcription). See `@get-bb/plugin-sdk/ai-services`.
22096
+ * AI services this plugin offers for bb's helper tasks: thread titles,
22097
+ * commit messages, and voice input.
21822
22098
  */
21823
22099
  readonly experimental_aiServices: PluginAiServices;
21824
22100
  /**
@@ -22083,4 +22359,4 @@ declare function cliCommand<const TOptions extends CliOptions = Record<string, n
22083
22359
  declare function defineCli(spec: PluginCliSpec): PluginCliRegistration;
22084
22360
 
22085
22361
  export { PLUGIN_CLI_OUTPUT_MAX_BYTES, PluginCliError, cliCommand, defineCli, defineRpcContract, experimental_defineHostEntry };
22086
- export type { BbContext, BbNavigate, BbPluginApi, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerCustomization, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerStructuredDraft, ComposerView, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerSelection, 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, ExperimentalPluginBrowserPage, ExperimentalPluginBrowserPageEvaluateOptions, ExperimentalPluginBrowserPageWorld, ExperimentalPluginBrowserToolbarActionProps, ExperimentalPluginBrowserToolbarActionRegistration, ExperimentalPluginFixedTabReference, ExperimentalPluginMentionImage, ExperimentalPluginProviderEnvContext, ExperimentalPluginProviderEnvEntry, ExperimentalPluginProviderEnvHealth, ExperimentalPluginProviderEnvHealthContext, ExperimentalPluginWebSocket, ExperimentalPluginWebSocketContext, ExperimentalPluginWebSocketHandler, ExperimentalPluginWebSocketHandlers, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarHeaderProps, ExperimentalSidebarHeaderRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActions, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationIconProps, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, ExperimentalSidebarNavigationSplit, ExperimentalSidebarNavigationSplitOptions, ExperimentalSidebarNavigationState, JsonValue, MachineBootstrapApi, MachineBootstrapRequest, MachineExecutor, MachineExecutorRequest, MarkdownProps, MessageDispatchHookContext, MessageDispatchHookDecision, NewThreadComposerProps, NewThreadRequest, PluginAgentConfiguration, PluginAgentConfigurationContext, PluginAgentToolContentPart, PluginAgentToolContext, PluginAgentToolRegistrationBase, PluginAgentToolResult, PluginAgentToolSelection, PluginAgents, PluginAiServiceDeclaration, PluginAiServiceKind, PluginAiServices, PluginAppBuilder, PluginAppCommands, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginBackground, PluginBbSdk, PluginBoundThreadsArea, PluginBrowserBbSdk, PluginCli, PluginCliBooleanOption, PluginCliCommand, PluginCliCommandInfo, PluginCliConstraint, PluginCliContext, PluginCliDurationOption, PluginCliDurationUnit, PluginCliEnumOption, PluginCliErrorCode, PluginCliExecutionResult, PluginCliIntegerOption, PluginCliOption, PluginCliOptionValues, PluginCliOutputLimitError, PluginCliPositional, PluginCliPositionalValues, PluginCliRegistration, PluginCliResult, PluginCliRunInput, PluginCliSpec, PluginCliStringOption, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandContext, PluginCommandRegistration, PluginCommandShortcut, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginDispatchAttemptKind, PluginDispatchEnvironmentIntent, PluginDispatchExecution, PluginDispatchExecutionSources, PluginDispatchInput, PluginEnvironmentProvider, PluginEnvironmentProviderDeclaration, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, PluginEnvironmentProviderRequirements, PluginEnvironmentProvidersState, PluginEnvironmentValidateDecision, PluginEnvironments, PluginEvents, PluginFileOpenerProps, PluginFileOpenerRegistration, PluginFileOpenerSource, PluginFixedTabDeclaration, PluginFixedTabRegistration, PluginHomepageSectionProps, PluginHomepageSectionRegistration, PluginHookHandler, PluginHookName, PluginHookSignatures, PluginHooks, PluginHosts, PluginHttp, PluginHttpAuthMode, PluginHttpHandler, PluginInteractionCancelReason, PluginInteractionDescription, 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, PluginRowLabels, PluginRowPresentation, 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, PluginSidebarSection, PluginSidebarSplitLayout, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadDraftState, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadRowStatus, PluginSidebarThreadShortcut, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginStatusApi, PluginStorage, PluginTargetedPanelActionOpenOptions, PluginThreadEventHandler, PluginThreadEventName, PluginThreadEventPayloads, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginThreadTitleProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, PluginTurnFailedEvent, PluginUi, ReadonlyJsonValue, ServerAccessGrant, ServerAccessProviderDeclaration, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };
22362
+ export type { BbContext, BbNavigate, BbPluginApi, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerCustomization, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerStructuredDraft, ComposerView, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerSelection, 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, ExperimentalPluginBrowserPage, ExperimentalPluginBrowserPageEvaluateOptions, ExperimentalPluginBrowserPageWorld, ExperimentalPluginBrowserToolbarActionProps, ExperimentalPluginBrowserToolbarActionRegistration, ExperimentalPluginFixedTabReference, ExperimentalPluginMentionImage, ExperimentalPluginProviderEnvContext, ExperimentalPluginProviderEnvEntry, ExperimentalPluginProviderEnvHealth, ExperimentalPluginProviderEnvHealthContext, ExperimentalPluginWebSocket, ExperimentalPluginWebSocketContext, ExperimentalPluginWebSocketHandler, ExperimentalPluginWebSocketHandlers, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalQuestionFormHost, ExperimentalQuestionShortcut, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarHeaderProps, ExperimentalSidebarHeaderRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActions, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationIconProps, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, ExperimentalSidebarNavigationSplit, ExperimentalSidebarNavigationSplitOptions, ExperimentalSidebarNavigationState, JsonValue, MachineBootstrapApi, MachineBootstrapRequest, MachineExecutor, MachineExecutorRequest, MarkdownProps, MessageDispatchHookContext, MessageDispatchHookDecision, NewThreadComposerProps, NewThreadRequest, PluginAgentConfiguration, PluginAgentConfigurationContext, PluginAgentToolContentPart, PluginAgentToolContext, PluginAgentToolRegistrationBase, PluginAgentToolResult, PluginAgentToolSelection, PluginAgents, PluginAiCompleteOptions, PluginAiServiceDeclaration, PluginAiServiceStatus, PluginAiServices, PluginAiTranscribeOptions, PluginAppBuilder, PluginAppCommands, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginBackground, PluginBbSdk, PluginBoundThreadsArea, PluginBrowserBbSdk, PluginCli, PluginCliBooleanOption, PluginCliCommand, PluginCliCommandInfo, PluginCliConstraint, PluginCliContext, PluginCliDurationOption, PluginCliDurationUnit, PluginCliEnumOption, PluginCliErrorCode, PluginCliExecutionResult, PluginCliIntegerOption, PluginCliOption, PluginCliOptionValues, PluginCliOutputLimitError, PluginCliPositional, PluginCliPositionalValues, PluginCliRegistration, PluginCliResult, PluginCliRunInput, PluginCliSpec, PluginCliStringOption, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandContext, PluginCommandRegistration, PluginCommandShortcut, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginDispatchAttemptKind, PluginDispatchEnvironmentIntent, PluginDispatchExecution, PluginDispatchExecutionSources, PluginDispatchInput, PluginEnvironmentProvider, PluginEnvironmentProviderDeclaration, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, PluginEnvironmentProviderRequirements, PluginEnvironmentProvidersState, PluginEnvironmentValidateDecision, PluginEnvironments, PluginEvents, PluginFileOpenerProps, PluginFileOpenerRegistration, PluginFileOpenerSource, PluginFixedTabDeclaration, PluginFixedTabRegistration, PluginHomepageSectionProps, PluginHomepageSectionRegistration, PluginHookHandler, PluginHookName, PluginHookSignatures, PluginHooks, PluginHosts, PluginHttp, PluginHttpAuthMode, PluginHttpHandler, PluginInteractionCancelReason, PluginInteractionDescription, 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, PluginRowLabels, PluginRowPresentation, 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, PluginSidebarSection, PluginSidebarSplitLayout, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadDraftState, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadRowStatus, PluginSidebarThreadShortcut, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginStatusApi, PluginStorage, PluginTargetedPanelActionOpenOptions, PluginThreadEventHandler, PluginThreadEventName, PluginThreadEventPayloads, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginThreadTitleProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, PluginTurnFailedEvent, PluginUi, ReadonlyJsonValue, ServerAccessGrant, ServerAccessProviderDeclaration, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };