@get-bb/plugin-sdk 0.5.16 → 0.5.24

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.
@@ -1371,10 +1371,8 @@ interface CreateFakePluginHostOptions {
1371
1371
  sharedPortTunnelIdentities?: Record<string, PluginSharedPortTunnelIdentity>;
1372
1372
  /**
1373
1373
  * Whether the plugin's manifest declares a `bb.host` entry. Production
1374
- * refuses `bb.providers.register` (the provider would have no bridge to
1375
- * run on) and `experimental_aiServices.register` (the service would have
1376
- * nothing to run on) without one; the fake applies the same rules.
1377
- * Defaults to true.
1374
+ * refuses `bb.providers.register` without one (the provider would have no
1375
+ * bridge to run on); the fake applies the same rule. Defaults to true.
1378
1376
  */
1379
1377
  experimental_hostEntry?: boolean;
1380
1378
  /**
@@ -160,6 +160,7 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
160
160
  "browser.focusLocation": "browser.focusLocation";
161
161
  "browser.reload": "browser.reload";
162
162
  "composer.focus": "composer.focus";
163
+ "dataDirectory.open": "dataDirectory.open";
163
164
  "diff.toggle": "diff.toggle";
164
165
  "file.quickOpen": "file.quickOpen";
165
166
  "logs.openServerDaemon": "logs.openServerDaemon";
@@ -378,6 +379,7 @@ declare const changedMessageSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
378
379
  type: z$1.ZodLiteral<"changed">;
379
380
  }, z$1.core.$strict>, z$1.ZodObject<{
380
381
  changes: z$1.ZodReadonly<z$1.ZodArray<z$1.ZodEnum<{
382
+ "app-update-changed": "app-update-changed";
381
383
  "config-changed": "config-changed";
382
384
  "environment-availability-changed": "environment-availability-changed";
383
385
  "plugins-changed": "plugins-changed";
@@ -474,10 +476,8 @@ type Environment = z$1.infer<typeof environmentSchema>;
474
476
  declare const experimentsSchema: z$1.ZodRecord<z$1.ZodEnum<{
475
477
  changelogPreview: "changelogPreview";
476
478
  mobileApp: "mobileApp";
477
- multiMachinePicker: "multiMachinePicker";
478
479
  serverMove: "serverMove";
479
480
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
480
- timelineWindowing: "timelineWindowing";
481
481
  }>, z$1.ZodBoolean>;
482
482
  type Experiments = z$1.infer<typeof experimentsSchema>;
483
483
 
@@ -9015,6 +9015,12 @@ declare const hostEnrollmentCommandResponseSchema: z$1.ZodNullable<z$1.ZodObject
9015
9015
  expiresAt: z$1.ZodNumber;
9016
9016
  }, z$1.core.$strip>>;
9017
9017
  type HostEnrollmentCommandResponse = z$1.infer<typeof hostEnrollmentCommandResponseSchema>;
9018
+ declare const hostReconnectResponseSchema: z$1.ZodObject<{
9019
+ command: z$1.ZodString;
9020
+ expiresAt: z$1.ZodNumber;
9021
+ hostId: z$1.ZodString;
9022
+ }, z$1.core.$strict>;
9023
+ type HostReconnectResponse = z$1.infer<typeof hostReconnectResponseSchema>;
9018
9024
  declare const createHostJoinCodeResponseSchema: z$1.ZodObject<{
9019
9025
  expiresAt: z$1.ZodNumber;
9020
9026
  hostId: z$1.ZodString;
@@ -9702,6 +9708,7 @@ declare const systemExecutionOptionsResponseSchema: z$1.ZodObject<{
9702
9708
  provider_unavailable: "provider_unavailable";
9703
9709
  timeout: "timeout";
9704
9710
  }>;
9711
+ detail: z$1.ZodNullable<z$1.ZodString>;
9705
9712
  providerId: z$1.ZodString;
9706
9713
  }, z$1.core.$strip>>;
9707
9714
  models: z$1.ZodArray<z$1.ZodObject<{
@@ -9908,21 +9915,93 @@ declare const systemProviderStatesResponseSchema: z$1.ZodObject<{
9908
9915
  }, z$1.core.$loose>>;
9909
9916
  }, z$1.core.$strip>;
9910
9917
  type SystemProviderStatesResponse = z$1.infer<typeof systemProviderStatesResponseSchema>;
9911
- declare const systemConfigResponseSchema: z$1.ZodObject<{
9912
- aiServices: z$1.ZodObject<{
9913
- inference: z$1.ZodString;
9914
- inferenceFallback: z$1.ZodString;
9915
- services: z$1.ZodArray<z$1.ZodObject<{
9916
- displayName: z$1.ZodString;
9917
- id: z$1.ZodString;
9918
- kinds: z$1.ZodArray<z$1.ZodEnum<{
9919
- inference: "inference";
9920
- voice: "voice";
9921
- }>>;
9918
+ declare const systemAiServicesResponseSchema: z$1.ZodObject<{
9919
+ selections: z$1.ZodObject<{
9920
+ "commit-message": z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9921
+ mode: z$1.ZodLiteral<"automatic">;
9922
+ }, z$1.core.$strict>, z$1.ZodObject<{
9923
+ mode: z$1.ZodLiteral<"off">;
9924
+ }, z$1.core.$strict>, z$1.ZodObject<{
9925
+ mode: z$1.ZodLiteral<"service">;
9922
9926
  pluginId: z$1.ZodString;
9923
- }, z$1.core.$strip>>;
9924
- transcription: z$1.ZodString;
9925
- }, z$1.core.$strip>;
9927
+ serviceId: z$1.ZodString;
9928
+ }, z$1.core.$strict>], "mode">;
9929
+ "thread-title": z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9930
+ mode: z$1.ZodLiteral<"automatic">;
9931
+ }, z$1.core.$strict>, z$1.ZodObject<{
9932
+ mode: z$1.ZodLiteral<"off">;
9933
+ }, z$1.core.$strict>, z$1.ZodObject<{
9934
+ mode: z$1.ZodLiteral<"service">;
9935
+ pluginId: z$1.ZodString;
9936
+ serviceId: z$1.ZodString;
9937
+ }, z$1.core.$strict>], "mode">;
9938
+ voice: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9939
+ mode: z$1.ZodLiteral<"automatic">;
9940
+ }, z$1.core.$strict>, z$1.ZodObject<{
9941
+ mode: z$1.ZodLiteral<"off">;
9942
+ }, z$1.core.$strict>, z$1.ZodObject<{
9943
+ mode: z$1.ZodLiteral<"service">;
9944
+ pluginId: z$1.ZodString;
9945
+ serviceId: z$1.ZodString;
9946
+ }, z$1.core.$strict>], "mode">;
9947
+ }, z$1.core.$strict>;
9948
+ services: z$1.ZodArray<z$1.ZodObject<{
9949
+ automaticRank: z$1.ZodNullable<z$1.ZodNumber>;
9950
+ displayName: z$1.ZodString;
9951
+ id: z$1.ZodString;
9952
+ pluginId: z$1.ZodString;
9953
+ status: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9954
+ ready: z$1.ZodLiteral<true>;
9955
+ }, z$1.core.$strict>, z$1.ZodObject<{
9956
+ message: z$1.ZodString;
9957
+ ready: z$1.ZodLiteral<false>;
9958
+ }, z$1.core.$strict>], "ready">;
9959
+ tasks: z$1.ZodArray<z$1.ZodEnum<{
9960
+ "commit-message": "commit-message";
9961
+ "thread-title": "thread-title";
9962
+ voice: "voice";
9963
+ }>>;
9964
+ }, z$1.core.$strip>>;
9965
+ }, z$1.core.$strip>;
9966
+ type SystemAiServicesResponse = z$1.infer<typeof systemAiServicesResponseSchema>;
9967
+ declare const setAiServiceSelectionRequestSchema: z$1.ZodObject<{
9968
+ selection: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9969
+ mode: z$1.ZodLiteral<"automatic">;
9970
+ }, z$1.core.$strict>, z$1.ZodObject<{
9971
+ mode: z$1.ZodLiteral<"off">;
9972
+ }, z$1.core.$strict>, z$1.ZodObject<{
9973
+ mode: z$1.ZodLiteral<"service">;
9974
+ pluginId: z$1.ZodString;
9975
+ serviceId: z$1.ZodString;
9976
+ }, z$1.core.$strict>], "mode">;
9977
+ task: z$1.ZodEnum<{
9978
+ "commit-message": "commit-message";
9979
+ "thread-title": "thread-title";
9980
+ voice: "voice";
9981
+ }>;
9982
+ }, z$1.core.$strict>;
9983
+ type SetAiServiceSelectionRequest = z$1.infer<typeof setAiServiceSelectionRequestSchema>;
9984
+ declare const testAiServiceRequestSchema: z$1.ZodObject<{
9985
+ task: z$1.ZodEnum<{
9986
+ "commit-message": "commit-message";
9987
+ "thread-title": "thread-title";
9988
+ }>;
9989
+ }, z$1.core.$strict>;
9990
+ type TestAiServiceRequest = z$1.infer<typeof testAiServiceRequestSchema>;
9991
+ declare const testAiServiceResponseSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
9992
+ displayName: z$1.ZodString;
9993
+ durationMs: z$1.ZodNumber;
9994
+ ok: z$1.ZodLiteral<true>;
9995
+ pluginId: z$1.ZodString;
9996
+ serviceId: z$1.ZodString;
9997
+ text: z$1.ZodString;
9998
+ }, z$1.core.$strip>, z$1.ZodObject<{
9999
+ durationMs: z$1.ZodNumber;
10000
+ message: z$1.ZodString;
10001
+ ok: z$1.ZodLiteral<false>;
10002
+ }, z$1.core.$strip>], "ok">;
10003
+ type TestAiServiceResponse = z$1.infer<typeof testAiServiceResponseSchema>;
10004
+ declare const systemConfigResponseSchema: z$1.ZodObject<{
9926
10005
  appearance: z$1.ZodObject<{
9927
10006
  customCss: z$1.ZodNullable<z$1.ZodString>;
9928
10007
  faviconColor: z$1.ZodEnum<{
@@ -9952,6 +10031,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9952
10031
  "browser.focusLocation": "browser.focusLocation";
9953
10032
  "browser.reload": "browser.reload";
9954
10033
  "composer.focus": "composer.focus";
10034
+ "dataDirectory.open": "dataDirectory.open";
9955
10035
  "diff.toggle": "diff.toggle";
9956
10036
  "file.quickOpen": "file.quickOpen";
9957
10037
  "logs.openServerDaemon": "logs.openServerDaemon";
@@ -10061,10 +10141,8 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10061
10141
  experiments: z$1.ZodRecord<z$1.ZodEnum<{
10062
10142
  changelogPreview: "changelogPreview";
10063
10143
  mobileApp: "mobileApp";
10064
- multiMachinePicker: "multiMachinePicker";
10065
10144
  serverMove: "serverMove";
10066
10145
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
10067
- timelineWindowing: "timelineWindowing";
10068
10146
  }>, z$1.ZodBoolean>;
10069
10147
  featureFlags: z$1.ZodObject<{
10070
10148
  placeholder: z$1.ZodBoolean;
@@ -10096,6 +10174,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10096
10174
  "browser.focusLocation": "browser.focusLocation";
10097
10175
  "browser.reload": "browser.reload";
10098
10176
  "composer.focus": "composer.focus";
10177
+ "dataDirectory.open": "dataDirectory.open";
10099
10178
  "diff.toggle": "diff.toggle";
10100
10179
  "file.quickOpen": "file.quickOpen";
10101
10180
  "logs.openServerDaemon": "logs.openServerDaemon";
@@ -10180,6 +10259,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10180
10259
  "browser.focusLocation": "browser.focusLocation";
10181
10260
  "browser.reload": "browser.reload";
10182
10261
  "composer.focus": "composer.focus";
10262
+ "dataDirectory.open": "dataDirectory.open";
10183
10263
  "diff.toggle": "diff.toggle";
10184
10264
  "file.quickOpen": "file.quickOpen";
10185
10265
  "logs.openServerDaemon": "logs.openServerDaemon";
@@ -10372,6 +10452,94 @@ declare const systemVersionResponseSchema: z$1.ZodObject<{
10372
10452
  upgradeCommand: z$1.ZodString;
10373
10453
  }, z$1.core.$strip>;
10374
10454
  type SystemVersionResponse = z$1.infer<typeof systemVersionResponseSchema>;
10455
+ declare const systemAppUpdateStatusSchema: z$1.ZodObject<{
10456
+ activity: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
10457
+ phase: z$1.ZodLiteral<"idle">;
10458
+ }, z$1.core.$strip>, z$1.ZodObject<{
10459
+ output: z$1.ZodArray<z$1.ZodString>;
10460
+ phase: z$1.ZodLiteral<"preparing">;
10461
+ startedAt: z$1.ZodString;
10462
+ step: z$1.ZodString;
10463
+ targetVersion: z$1.ZodString;
10464
+ }, z$1.core.$strip>, z$1.ZodObject<{
10465
+ phase: z$1.ZodLiteral<"restarting">;
10466
+ startedAt: z$1.ZodString;
10467
+ targetVersion: z$1.ZodString;
10468
+ }, z$1.core.$strip>], "phase">;
10469
+ available: z$1.ZodNullable<z$1.ZodObject<{
10470
+ channel: z$1.ZodEnum<{
10471
+ latest: "latest";
10472
+ main: "main";
10473
+ nightly: "nightly";
10474
+ }>;
10475
+ commit: z$1.ZodNullable<z$1.ZodString>;
10476
+ commitCount: z$1.ZodNullable<z$1.ZodNumber>;
10477
+ subjects: z$1.ZodArray<z$1.ZodString>;
10478
+ version: z$1.ZodString;
10479
+ }, z$1.core.$strip>>;
10480
+ blocked: z$1.ZodNullable<z$1.ZodObject<{
10481
+ message: z$1.ZodString;
10482
+ reason: z$1.ZodEnum<{
10483
+ "detached-head": "detached-head";
10484
+ "fetch-failed": "fetch-failed";
10485
+ "not-on-main": "not-on-main";
10486
+ "uncommitted-changes": "uncommitted-changes";
10487
+ diverged: "diverged";
10488
+ }>;
10489
+ }, z$1.core.$strip>>;
10490
+ current: z$1.ZodObject<{
10491
+ commit: z$1.ZodNullable<z$1.ZodString>;
10492
+ version: z$1.ZodString;
10493
+ }, z$1.core.$strip>;
10494
+ lastResult: z$1.ZodNullable<z$1.ZodObject<{
10495
+ acknowledged: z$1.ZodBoolean;
10496
+ finishedAt: z$1.ZodString;
10497
+ from: z$1.ZodObject<{
10498
+ commit: z$1.ZodNullable<z$1.ZodString>;
10499
+ version: z$1.ZodString;
10500
+ }, z$1.core.$strip>;
10501
+ id: z$1.ZodString;
10502
+ logTail: z$1.ZodArray<z$1.ZodString>;
10503
+ message: z$1.ZodNullable<z$1.ZodString>;
10504
+ outcome: z$1.ZodEnum<{
10505
+ failed: "failed";
10506
+ updated: "updated";
10507
+ }>;
10508
+ phase: z$1.ZodNullable<z$1.ZodEnum<{
10509
+ install: "install";
10510
+ prepare: "prepare";
10511
+ startup: "startup";
10512
+ }>>;
10513
+ to: z$1.ZodObject<{
10514
+ commit: z$1.ZodNullable<z$1.ZodString>;
10515
+ version: z$1.ZodString;
10516
+ }, z$1.core.$strip>;
10517
+ }, z$1.core.$strip>>;
10518
+ runningThreadCount: z$1.ZodNumber;
10519
+ support: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
10520
+ kind: z$1.ZodLiteral<"supported">;
10521
+ mode: z$1.ZodEnum<{
10522
+ npm: "npm";
10523
+ source: "source";
10524
+ }>;
10525
+ }, z$1.core.$strip>, z$1.ZodObject<{
10526
+ kind: z$1.ZodLiteral<"unsupported">;
10527
+ reason: z$1.ZodEnum<{
10528
+ desktop: "desktop";
10529
+ development: "development";
10530
+ unmanaged: "unmanaged";
10531
+ }>;
10532
+ }, z$1.core.$strip>], "kind">;
10533
+ }, z$1.core.$strip>;
10534
+ type SystemAppUpdateStatus = z$1.infer<typeof systemAppUpdateStatusSchema>;
10535
+ declare const systemAppUpdateApplyRequestSchema: z$1.ZodObject<{
10536
+ confirmInterruptingThreads: z$1.ZodBoolean;
10537
+ }, z$1.core.$strip>;
10538
+ type SystemAppUpdateApplyRequest = z$1.infer<typeof systemAppUpdateApplyRequestSchema>;
10539
+ declare const systemAppUpdateAcknowledgeRequestSchema: z$1.ZodObject<{
10540
+ id: z$1.ZodString;
10541
+ }, z$1.core.$strip>;
10542
+ type SystemAppUpdateAcknowledgeRequest = z$1.infer<typeof systemAppUpdateAcknowledgeRequestSchema>;
10375
10543
  declare const systemConfigReloadResponseSchema: z$1.ZodObject<{
10376
10544
  ok: z$1.ZodLiteral<true>;
10377
10545
  }, z$1.core.$strip>;
@@ -15352,6 +15520,9 @@ interface HostRetryUpdateArgs {
15352
15520
  interface HostActionArgs {
15353
15521
  hostId: string;
15354
15522
  }
15523
+ interface HostReconnectArgs extends HostActionArgs {
15524
+ signal?: AbortSignal;
15525
+ }
15355
15526
  interface HostDirectoryArgs extends HostDirectoryQuery {
15356
15527
  hostId: string;
15357
15528
  signal?: AbortSignal;
@@ -15391,6 +15562,7 @@ type HostGetResult = Host & {
15391
15562
  connectMachineId: string | null;
15392
15563
  };
15393
15564
  type HostEnrollmentCommandResult = HostEnrollmentCommandResponse;
15565
+ type HostReconnectResult = HostReconnectResponse;
15394
15566
  type HostCloneDefaultPathResult = HostCloneDefaultPathResponse;
15395
15567
  type HostProviderCliInstallResult = HostProviderCliInstallEvent[];
15396
15568
  type HostListResult = Host[];
@@ -15404,6 +15576,7 @@ type MachineProviderListResult = SystemMachineProvider[];
15404
15576
  interface HostsArea {
15405
15577
  experimental_create(args: MachineCreateArgs): Promise<Host>;
15406
15578
  experimental_getEnrollmentCommand(args: HostGetArgs): Promise<HostEnrollmentCommandResult>;
15579
+ experimental_reconnect(args: HostReconnectArgs): Promise<HostReconnectResult>;
15407
15580
  /** @deprecated Use experimental_create() and experimental_getEnrollmentCommand() for bootstrap enrollment. */
15408
15581
  createJoinCode(): Promise<HostCreateJoinCodeResult>;
15409
15582
  delete(args: HostDeleteArgs): Promise<HostDeleteResult>;
@@ -15969,6 +16142,13 @@ interface SystemVersionArgs {
15969
16142
  force?: boolean;
15970
16143
  signal?: AbortSignal;
15971
16144
  }
16145
+ interface SystemAppUpdateArgs {
16146
+ force?: boolean;
16147
+ signal?: AbortSignal;
16148
+ }
16149
+ type SystemApplyAppUpdateArgs = SystemAppUpdateApplyRequest;
16150
+ type SystemAcknowledgeAppUpdateArgs = SystemAppUpdateAcknowledgeRequest;
16151
+ type SystemAppUpdateStatusResult = SystemAppUpdateStatus;
15972
16152
  interface SystemVoiceTranscriptionArgs {
15973
16153
  file: Blob;
15974
16154
  prompt?: string;
@@ -15976,6 +16156,13 @@ interface SystemVoiceTranscriptionArgs {
15976
16156
  }
15977
16157
  type SystemAttentionResult = SystemAttentionResponse;
15978
16158
  type SystemConfigResult = SystemConfigResponse;
16159
+ type SystemAiServicesResult = SystemAiServicesResponse;
16160
+ type SystemSetAiServiceSelectionArgs = SetAiServiceSelectionRequest;
16161
+ type SystemTestAiServiceArgs = TestAiServiceRequest;
16162
+ type SystemTestAiServiceResult = TestAiServiceResponse;
16163
+ interface SystemAiServicesArgs {
16164
+ signal?: AbortSignal;
16165
+ }
15979
16166
  type SystemExecutionOptionsResult = SystemExecutionOptionsResponse;
15980
16167
  type SystemReloadConfigResult = SystemConfigReloadResponse;
15981
16168
  type SystemInstallCliSkillsArgs = SystemInstallCliSkillsRequest;
@@ -16022,12 +16209,15 @@ interface SystemArea {
16022
16209
  }): Promise<MachineEnvironmentList>;
16023
16210
  machineEnvironment(): Promise<MachineEnvironmentList>;
16024
16211
  replaceMachineEnvironment(input: MachineEnvironmentReplace): Promise<MachineEnvironmentList>;
16212
+ aiServices(args?: SystemAiServicesArgs): Promise<SystemAiServicesResult>;
16025
16213
  attention(args?: SystemAttentionArgs): Promise<SystemAttentionResult>;
16026
16214
  config(args?: SystemConfigArgs): Promise<SystemConfigResult>;
16027
16215
  executionOptions(args?: SystemExecutionOptionsArgs): Promise<SystemExecutionOptionsResult>;
16028
16216
  cliSkillsStatus(args?: SystemCliSkillsStatusArgs): Promise<SystemCliSkillsStatusResult>;
16029
16217
  installCliSkills(args: SystemInstallCliSkillsArgs): Promise<SystemInstallCliSkillsResult>;
16030
16218
  reloadConfig(): Promise<SystemReloadConfigResult>;
16219
+ setAiServiceSelection(args: SystemSetAiServiceSelectionArgs): Promise<SystemAiServicesResult>;
16220
+ testAiService(args: SystemTestAiServiceArgs): Promise<SystemTestAiServiceResult>;
16031
16221
  transcribeVoice(args: SystemVoiceTranscriptionArgs): Promise<SystemVoiceTranscriptionResult>;
16032
16222
  uiPreferences: SystemUiPreferencesArea;
16033
16223
  updateExperiments(args: Experiments): Promise<SystemUpdateExperimentsResult>;
@@ -16036,6 +16226,9 @@ interface SystemArea {
16036
16226
  providerStates(args?: SystemProviderStatesArgs): Promise<SystemProviderStatesResult>;
16037
16227
  usageLimits(args?: SystemUsageLimitsArgs): Promise<SystemUsageLimitsResult>;
16038
16228
  version(args?: SystemVersionArgs): Promise<SystemVersionResult>;
16229
+ appUpdate(args?: SystemAppUpdateArgs): Promise<SystemAppUpdateStatusResult>;
16230
+ applyAppUpdate(args: SystemApplyAppUpdateArgs): Promise<SystemAppUpdateStatusResult>;
16231
+ acknowledgeAppUpdate(args: SystemAcknowledgeAppUpdateArgs): Promise<SystemAppUpdateStatusResult>;
16039
16232
  }
16040
16233
 
16041
16234
  interface TerminalThreadScope {
@@ -16758,6 +16951,30 @@ interface PluginPendingInteractionProps {
16758
16951
  submit(value: JsonValue): Promise<void>;
16759
16952
  cancel(): Promise<void>;
16760
16953
  }
16954
+ /** Display and accessibility metadata for a host-owned answer shortcut. */
16955
+ interface ExperimentalQuestionShortcut {
16956
+ label: string;
16957
+ ariaKeyshortcuts: string;
16958
+ }
16959
+ /**
16960
+ * The keyboard shortcuts bb binds while a pending interaction is open. The
16961
+ * host owns the bindings (users can remap them); a form shows them and decides
16962
+ * what choosing an option means.
16963
+ */
16964
+ interface ExperimentalQuestionFormHost {
16965
+ /**
16966
+ * Shortcut per zero-based option index, as a string (`"0"` is the first
16967
+ * option). Missing entries have no binding.
16968
+ */
16969
+ shortcuts: ReadonlyMap<string, ExperimentalQuestionShortcut>;
16970
+ /**
16971
+ * Receive the index of the option the person chose with a shortcut while
16972
+ * the thread's pane is focused. Return true when the index names an option
16973
+ * the form handled. The last registered handler wins; call the returned
16974
+ * function to unregister.
16975
+ */
16976
+ registerChoiceHandler(handler: (index: number) => boolean): () => void;
16977
+ }
16761
16978
  /**
16762
16979
  * Props for a `sidebarFooterAction` — host-rendered (no plugin component).
16763
16980
  * Deliberately empty; the registration's `run` carries the behavior.
@@ -17928,7 +18145,7 @@ interface PluginSidebarThreadActions {
17928
18145
  setRead(threadId: string, read: boolean): Promise<void>;
17929
18146
  /** Silent rename — no dialog. For inline editing in your own row. */
17930
18147
  rename(threadId: string, title: string): Promise<void>;
17931
- /** Opens bb's confirmation before archiving the thread and its children. */
18148
+ /** Archives immediately, or confirms first if child threads will also be archived. */
17932
18149
  archive(threadId: string): void;
17933
18150
  /**
17934
18151
  * Opens bb's delete confirmation, which counts child threads first. Deletion
@@ -19520,6 +19737,13 @@ interface PluginSdkApp {
19520
19737
  * docs/api_to_audit.md.
19521
19738
  */
19522
19739
  experimental_usePluginId(): string;
19740
+ /**
19741
+ * The answer shortcuts bb binds while a pending interaction is open. Inside
19742
+ * a `pendingInteraction` component the form shows each option's shortcut and
19743
+ * registers a handler that chooses the option; outside one, the map is empty
19744
+ * and handlers never run. Experimental: see docs/api_to_audit.md.
19745
+ */
19746
+ experimental_useQuestionFormHost(): ExperimentalQuestionFormHost;
19523
19747
  useBbNavigate(): BbNavigate;
19524
19748
  /** Select one of this plugin's eligible fixed tabs on the current surface. */
19525
19749
  experimental_useAppPanel(): ExperimentalAppPanel;
@@ -19651,9 +19875,10 @@ interface PluginSdkApp {
19651
19875
  * surfaces without further work. Reserve `useRpc` for work that needs your
19652
19876
  * server: secrets, host files, or your plugin's own storage.
19653
19877
  *
19654
- * Writes made here are not optimistic in bb's surfaces; they land when the
19655
- * realtime update does. `experimental_useSidebarThreadActions()` stays the
19656
- * optimistic path for pin, read state, rename, and archive.
19878
+ * Thread title, section, and parent updates are optimistic in bb's surfaces
19879
+ * and synchronous calls are applied as one cache transaction. Other writes
19880
+ * land when their realtime update does. `experimental_useSidebarThreadActions()`
19881
+ * stays the optimistic path for pin, read state, rename, and archive.
19657
19882
  *
19658
19883
  * The client is stable for the plugin's lifetime, so it is safe in effect
19659
19884
  * and callback dependency lists.
@@ -21680,35 +21905,77 @@ interface PluginServerApi {
21680
21905
  */
21681
21906
  readonly experimental_dataDir: string;
21682
21907
  }
21908
+ /** Options for one `complete` call. */
21909
+ interface PluginAiCompleteOptions {
21910
+ /**
21911
+ * Aborted when bb stops waiting: the task timed out (5 seconds for titles
21912
+ * and commit messages) or the request was cancelled. Pass it to `fetch`.
21913
+ */
21914
+ readonly signal: AbortSignal;
21915
+ }
21916
+ /** Options for one `transcribe` call. */
21917
+ interface PluginAiTranscribeOptions {
21918
+ /** Aborted when bb stops waiting (10 seconds) or the request was cancelled. */
21919
+ readonly signal: AbortSignal;
21920
+ /**
21921
+ * Vocabulary the speaker is likely to use (names, identifiers), for
21922
+ * services that accept a transcription prompt; `null` when there is none.
21923
+ */
21924
+ readonly hint: string | null;
21925
+ }
21683
21926
  /**
21684
- * What a plugin's AI service does. `inference` answers bb's server-side helper
21685
- * completions (thread titles, commit messages: a prompt and a JSON Schema in,
21686
- * a structured value out); `voice` transcribes recorded speech.
21927
+ * Whether a service can answer right now. `message` is shown to the user
21928
+ * beside the service ("Sign in to your bb account") and should say how to
21929
+ * make it ready.
21687
21930
  */
21688
- type PluginAiServiceKind = "inference" | "voice";
21931
+ type PluginAiServiceStatus = {
21932
+ readonly ready: true;
21933
+ } | {
21934
+ readonly ready: false;
21935
+ readonly message: string;
21936
+ };
21689
21937
  /**
21690
- * An AI service a plugin offers from its `bb.host` entry, which implements
21691
- * `experimental_aiServicesHostContract` (`@get-bb/plugin-sdk/ai-services`).
21692
- * The user selects it with `BB_INFERENCE` / `BB_TRANSCRIPTION` set to
21693
- * `<id>/<model>`; core calls the plugin's host entry on the primary host with
21694
- * the `id` on every request, so one entry can serve several services.
21938
+ * An AI service bb can use for its helper tasks: thread titles and commit
21939
+ * messages (`complete`) and voice input (`transcribe`). The user picks a
21940
+ * service per task in Settings → AI services or with
21941
+ * `bb settings ai-services set`. The functions run in the plugin's server
21942
+ * process; a plugin that needs host-local state (a login file, a local model)
21943
+ * reaches its own `bb.host` entry through `bb.hosts.experimental_client`.
21944
+ *
21945
+ * bb owns the prompts and cleans up replies (think blocks, quotes, labels,
21946
+ * extra lines), so a service returns the model's text as-is. The plugin owns
21947
+ * everything behind the function: which model, which API, any retries.
21948
+ * Failure is a rejected promise.
21695
21949
  */
21696
21950
  interface PluginAiServiceDeclaration {
21697
- /** The `<serviceId>` segment of the user's setting; stable, lowercase. */
21951
+ /**
21952
+ * Stable, lowercase id, unique within this plugin. bb identifies a service
21953
+ * by plugin id and service id, so another plugin may use the same id.
21954
+ * `automatic` and `off` are reserved.
21955
+ */
21698
21956
  readonly id: string;
21699
- /** Shown beside the id wherever the setting's options are listed. */
21957
+ /** Shown in the picker; 1-64 characters. */
21700
21958
  readonly displayName: string;
21701
- /** Which kinds this service answers; a kind it lacks is not offered. */
21702
- readonly kinds: readonly PluginAiServiceKind[];
21959
+ /**
21960
+ * Answer one prompt with plain text. Offered for thread titles and commit
21961
+ * messages. Declare `complete`, `transcribe`, or both.
21962
+ */
21963
+ readonly complete?: (prompt: string, options: PluginAiCompleteOptions) => Promise<string>;
21964
+ /** Transcribe recorded speech to text. Offered for voice input. */
21965
+ readonly transcribe?: (audio: File, options: PluginAiTranscribeOptions) => Promise<string>;
21966
+ /**
21967
+ * Report whether the service can answer. bb calls it for the picker's
21968
+ * status line and to decide whether Automatic skips the service and
21969
+ * whether the microphone shows; results are cached for a few seconds.
21970
+ * Omit it when the service is always ready.
21971
+ */
21972
+ readonly status?: () => Promise<PluginAiServiceStatus>;
21703
21973
  }
21704
21974
  interface PluginAiServices {
21705
21975
  /**
21706
21976
  * Register an AI service. Call during the factory; the registration lands
21707
- * when the plugin load commits and is removed on reload or disable. The
21708
- * plugin must declare a `bb.host` entry; registering without one fails the
21709
- * load. A declared entry that fails to build fails the load on the build
21710
- * error after the factory, with any provider the factory declared listed
21711
- * as unavailable. Throws on an id another live plugin already serves.
21977
+ * when the plugin load commits and is removed on reload or disable. Throws
21978
+ * when this plugin already registered the id.
21712
21979
  */
21713
21980
  register(declaration: PluginAiServiceDeclaration): {
21714
21981
  dispose(): void;
@@ -21830,8 +22097,8 @@ interface BbPluginApi {
21830
22097
  /** Server-to-daemon host control-plane declarations. */
21831
22098
  readonly hosts: PluginHosts;
21832
22099
  /**
21833
- * AI services this plugin serves from its `bb.host` entry (helper
21834
- * inference, voice transcription). See `@get-bb/plugin-sdk/ai-services`.
22100
+ * AI services this plugin offers for bb's helper tasks: thread titles,
22101
+ * commit messages, and voice input.
21835
22102
  */
21836
22103
  readonly experimental_aiServices: PluginAiServices;
21837
22104
  /**
@@ -22096,4 +22363,4 @@ declare function cliCommand<const TOptions extends CliOptions = Record<string, n
22096
22363
  declare function defineCli(spec: PluginCliSpec): PluginCliRegistration;
22097
22364
 
22098
22365
  export { PLUGIN_CLI_OUTPUT_MAX_BYTES, PluginCliError, cliCommand, defineCli, defineRpcContract, experimental_defineHostEntry };
22099
- 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 };
22366
+ 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 };
package/dist/app.js CHANGED
@@ -79,6 +79,9 @@ var useBbContext = runtimeFunction("useBbContext");
79
79
  var experimental_usePluginId = runtimeFunction(
80
80
  "experimental_usePluginId"
81
81
  );
82
+ var experimental_useQuestionFormHost = runtimeFunction(
83
+ "experimental_useQuestionFormHost"
84
+ );
82
85
  var useBbNavigate = runtimeFunction("useBbNavigate");
83
86
  var experimental_useAppPanel = runtimeFunction(
84
87
  "experimental_useAppPanel"
@@ -157,6 +160,7 @@ export {
157
160
  experimental_useFixedTabTarget,
158
161
  experimental_usePluginId,
159
162
  experimental_useProviders,
163
+ experimental_useQuestionFormHost,
160
164
  experimental_useSidebarNavigation,
161
165
  experimental_useSidebarNavigationSplit,
162
166
  experimental_useSidebarThreadActions,