@get-bb/plugin-sdk 0.5.9 → 0.5.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/bundled-types/bb-plugin-sdk-app.d.ts +246 -25
- package/bundled-types/bb-plugin-sdk-internal-plugin-app-collector.d.ts +2 -1
- package/bundled-types/bb-plugin-sdk-testing-app.d.ts +43 -13
- package/bundled-types/bb-plugin-sdk-testing.d.ts +6 -0
- package/bundled-types/bb-plugin-sdk.d.ts +250 -23
- package/dist/app.js +139 -41
- package/dist/internal/plugin-app-collector.js +11 -0
- package/dist/testing/app.js +94 -0
- package/dist/testing/index.js +18 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -178,13 +178,15 @@ slot.lifecycle.unmount();
|
|
|
178
178
|
await scripts.lifecycle.dispose();
|
|
179
179
|
```
|
|
180
180
|
|
|
181
|
-
`loadPluginApp` installs the runtime
|
|
182
|
-
|
|
181
|
+
`loadPluginApp` installs the runtime and validates all registrations; pass the
|
|
182
|
+
imported module or a thunk. `@get-bb/plugin-sdk/app` exports look the runtime
|
|
183
|
+
up when they are called or rendered, so a static import of `app.tsx` or of
|
|
184
|
+
components works too. `mountPluginContentScripts` mirrors the host's ordered mount,
|
|
183
185
|
rollback, independent per-window signal, and exact-once disposal. `renderSlot` supplies
|
|
184
186
|
RPC, realtime, settings, navigation, context, and scoped composer behavior,
|
|
185
187
|
then returns Testing Library queries plus the same behavior/inspection/lifecycle
|
|
186
|
-
split
|
|
187
|
-
|
|
188
|
+
split; it installs the runtime too. Call `installTestPluginRuntime()` yourself
|
|
189
|
+
only when a test renders plugin components without `renderSlot`.
|
|
188
190
|
|
|
189
191
|
## Fidelity boundaries
|
|
190
192
|
|
|
@@ -149,7 +149,7 @@ declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
|
|
|
149
149
|
}, z$1.core.$strict>]>;
|
|
150
150
|
type AppSettingsUpdate = z$1.infer<typeof appSettingsUpdateSchema>;
|
|
151
151
|
|
|
152
|
-
declare const UI_PREFERENCE_KEYS: readonly ["sidebar.organizationMode", "sidebar.threadGrouping.environment", "sidebar.chronologicalSort", "sidebar.sortDirection", "sidebar.sectionOrder", "sidebar.manualSectionOrder", "sidebar.machineSectionOrder", "sidebar.hiddenGroups", "sidebar.collapsedSections", "sidebar.collapsedProjects", "sidebar.collapsedThreads", "sidebar.collapsedEnvironments", "sidebar.collapsedThreadSections", "sidebar.collapsedMachines", "sidebar.footerOrder", "sidebar.hiddenFooterItems", "sidebar.pluginPanelOrder", "sidebar.visiblePluginPanels", "sidebar.navigationProvider", "sidebar.threadListProvider"];
|
|
152
|
+
declare const UI_PREFERENCE_KEYS: readonly ["sidebar.organizationMode", "sidebar.threadGrouping.environment", "sidebar.chronologicalSort", "sidebar.sortDirection", "sidebar.sectionOrder", "sidebar.manualSectionOrder", "sidebar.machineSectionOrder", "sidebar.hiddenGroups", "sidebar.collapsedSections", "sidebar.collapsedProjects", "sidebar.collapsedThreads", "sidebar.collapsedEnvironments", "sidebar.collapsedThreadSections", "sidebar.collapsedMachines", "sidebar.footerOrder", "sidebar.hiddenFooterItems", "sidebar.pluginPanelOrder", "sidebar.visiblePluginPanels", "sidebar.navigationProvider", "sidebar.headerProvider", "sidebar.threadListProvider"];
|
|
153
153
|
type UiPreferenceKey = (typeof UI_PREFERENCE_KEYS)[number];
|
|
154
154
|
interface UiPreferenceDefinition<Schema extends z$1.ZodTypeAny = z$1.ZodTypeAny> {
|
|
155
155
|
schema: Schema;
|
|
@@ -191,7 +191,8 @@ declare const uiPreferenceDefinitions: {
|
|
|
191
191
|
readonly "sidebar.hiddenFooterItems": UiPreferenceDefinition<z$1.ZodArray<z$1.ZodString>>;
|
|
192
192
|
readonly "sidebar.pluginPanelOrder": UiPreferenceDefinition<z$1.ZodArray<z$1.ZodString>>;
|
|
193
193
|
readonly "sidebar.visiblePluginPanels": UiPreferenceDefinition<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
|
|
194
|
-
readonly "sidebar.navigationProvider": UiPreferenceDefinition<z$1.ZodString
|
|
194
|
+
readonly "sidebar.navigationProvider": UiPreferenceDefinition<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<string, string>>>;
|
|
195
|
+
readonly "sidebar.headerProvider": UiPreferenceDefinition<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<string, string>>>;
|
|
195
196
|
readonly "sidebar.threadListProvider": UiPreferenceDefinition<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<string, string>>>;
|
|
196
197
|
};
|
|
197
198
|
type UiPreferenceValue<Key extends UiPreferenceKey> = z$1.infer<(typeof uiPreferenceDefinitions)[Key]["schema"]>;
|
|
@@ -274,6 +275,7 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
|
|
|
274
275
|
"thread.previous": "thread.previous";
|
|
275
276
|
"thread.rename": "thread.rename";
|
|
276
277
|
"thread.search": "thread.search";
|
|
278
|
+
"window.find": "window.find";
|
|
277
279
|
"window.new": "window.new";
|
|
278
280
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
279
281
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
@@ -5867,18 +5869,20 @@ declare const hostDaemonCommandRegistry: {
|
|
|
5867
5869
|
}, z$1.core.$strict>, z$1.ZodObject<{
|
|
5868
5870
|
sources: z$1.ZodArray<z$1.ZodObject<{
|
|
5869
5871
|
icon: z$1.ZodOptional<z$1.ZodString>;
|
|
5870
|
-
id: z$1.ZodEnum<{
|
|
5872
|
+
id: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
5871
5873
|
arc: "arc";
|
|
5872
5874
|
brave: "brave";
|
|
5873
5875
|
chrome: "chrome";
|
|
5874
5876
|
chromium: "chromium";
|
|
5877
|
+
dia: "dia";
|
|
5875
5878
|
edge: "edge";
|
|
5876
5879
|
firefox: "firefox";
|
|
5877
5880
|
helium: "helium";
|
|
5878
5881
|
opera: "opera";
|
|
5879
5882
|
safari: "safari";
|
|
5880
5883
|
vivaldi: "vivaldi";
|
|
5881
|
-
|
|
5884
|
+
zen: "zen";
|
|
5885
|
+
}>, z$1.ZodString]>;
|
|
5882
5886
|
name: z$1.ZodString;
|
|
5883
5887
|
profiles: z$1.ZodArray<z$1.ZodObject<{
|
|
5884
5888
|
cookieCount: z$1.ZodOptional<z$1.ZodNumber>;
|
|
@@ -5904,18 +5908,20 @@ declare const hostDaemonCommandRegistry: {
|
|
|
5904
5908
|
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
5905
5909
|
kind: z$1.ZodLiteral<"personal">;
|
|
5906
5910
|
}, z$1.core.$strip>], "kind">;
|
|
5907
|
-
sourceId: z$1.ZodEnum<{
|
|
5911
|
+
sourceId: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
5908
5912
|
arc: "arc";
|
|
5909
5913
|
brave: "brave";
|
|
5910
5914
|
chrome: "chrome";
|
|
5911
5915
|
chromium: "chromium";
|
|
5916
|
+
dia: "dia";
|
|
5912
5917
|
edge: "edge";
|
|
5913
5918
|
firefox: "firefox";
|
|
5914
5919
|
helium: "helium";
|
|
5915
5920
|
opera: "opera";
|
|
5916
5921
|
safari: "safari";
|
|
5917
5922
|
vivaldi: "vivaldi";
|
|
5918
|
-
|
|
5923
|
+
zen: "zen";
|
|
5924
|
+
}>, z$1.ZodString]>;
|
|
5919
5925
|
sourceProfileDirectory: z$1.ZodString;
|
|
5920
5926
|
type: z$1.ZodLiteral<"desktop.browser.import_cookies">;
|
|
5921
5927
|
}, z$1.core.$strict>, z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
@@ -8752,18 +8758,20 @@ declare const desktopBrowserCommandSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObj
|
|
|
8752
8758
|
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
8753
8759
|
kind: z$1.ZodLiteral<"personal">;
|
|
8754
8760
|
}, z$1.core.$strip>], "kind">;
|
|
8755
|
-
sourceId: z$1.ZodEnum<{
|
|
8761
|
+
sourceId: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
8756
8762
|
arc: "arc";
|
|
8757
8763
|
brave: "brave";
|
|
8758
8764
|
chrome: "chrome";
|
|
8759
8765
|
chromium: "chromium";
|
|
8766
|
+
dia: "dia";
|
|
8760
8767
|
edge: "edge";
|
|
8761
8768
|
firefox: "firefox";
|
|
8762
8769
|
helium: "helium";
|
|
8763
8770
|
opera: "opera";
|
|
8764
8771
|
safari: "safari";
|
|
8765
8772
|
vivaldi: "vivaldi";
|
|
8766
|
-
|
|
8773
|
+
zen: "zen";
|
|
8774
|
+
}>, z$1.ZodString]>;
|
|
8767
8775
|
sourceProfileDirectory: z$1.ZodString;
|
|
8768
8776
|
type: z$1.ZodLiteral<"desktop.browser.import_cookies">;
|
|
8769
8777
|
}, z$1.core.$strict>], "type">;
|
|
@@ -8850,18 +8858,20 @@ declare const desktopBrowserResultSchemas: {
|
|
|
8850
8858
|
"desktop.browser.list_import_sources": z$1.ZodObject<{
|
|
8851
8859
|
sources: z$1.ZodArray<z$1.ZodObject<{
|
|
8852
8860
|
icon: z$1.ZodOptional<z$1.ZodString>;
|
|
8853
|
-
id: z$1.ZodEnum<{
|
|
8861
|
+
id: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
8854
8862
|
arc: "arc";
|
|
8855
8863
|
brave: "brave";
|
|
8856
8864
|
chrome: "chrome";
|
|
8857
8865
|
chromium: "chromium";
|
|
8866
|
+
dia: "dia";
|
|
8858
8867
|
edge: "edge";
|
|
8859
8868
|
firefox: "firefox";
|
|
8860
8869
|
helium: "helium";
|
|
8861
8870
|
opera: "opera";
|
|
8862
8871
|
safari: "safari";
|
|
8863
8872
|
vivaldi: "vivaldi";
|
|
8864
|
-
|
|
8873
|
+
zen: "zen";
|
|
8874
|
+
}>, z$1.ZodString]>;
|
|
8865
8875
|
name: z$1.ZodString;
|
|
8866
8876
|
profiles: z$1.ZodArray<z$1.ZodObject<{
|
|
8867
8877
|
cookieCount: z$1.ZodOptional<z$1.ZodNumber>;
|
|
@@ -9955,6 +9965,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
9955
9965
|
"thread.previous": "thread.previous";
|
|
9956
9966
|
"thread.rename": "thread.rename";
|
|
9957
9967
|
"thread.search": "thread.search";
|
|
9968
|
+
"window.find": "window.find";
|
|
9958
9969
|
"window.new": "window.new";
|
|
9959
9970
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
9960
9971
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
@@ -10098,6 +10109,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10098
10109
|
"thread.previous": "thread.previous";
|
|
10099
10110
|
"thread.rename": "thread.rename";
|
|
10100
10111
|
"thread.search": "thread.search";
|
|
10112
|
+
"window.find": "window.find";
|
|
10101
10113
|
"window.new": "window.new";
|
|
10102
10114
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
10103
10115
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
@@ -10181,6 +10193,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10181
10193
|
"thread.previous": "thread.previous";
|
|
10182
10194
|
"thread.rename": "thread.rename";
|
|
10183
10195
|
"thread.search": "thread.search";
|
|
10196
|
+
"window.find": "window.find";
|
|
10184
10197
|
"window.new": "window.new";
|
|
10185
10198
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
10186
10199
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
@@ -14512,18 +14525,20 @@ declare const desktopBrowserImportCookiesRequestSchema: z$1.ZodObject<{
|
|
|
14512
14525
|
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
14513
14526
|
kind: z$1.ZodLiteral<"personal">;
|
|
14514
14527
|
}, z$1.core.$strip>], "kind">>;
|
|
14515
|
-
sourceId: z$1.ZodEnum<{
|
|
14528
|
+
sourceId: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
14516
14529
|
arc: "arc";
|
|
14517
14530
|
brave: "brave";
|
|
14518
14531
|
chrome: "chrome";
|
|
14519
14532
|
chromium: "chromium";
|
|
14533
|
+
dia: "dia";
|
|
14520
14534
|
edge: "edge";
|
|
14521
14535
|
firefox: "firefox";
|
|
14522
14536
|
helium: "helium";
|
|
14523
14537
|
opera: "opera";
|
|
14524
14538
|
safari: "safari";
|
|
14525
14539
|
vivaldi: "vivaldi";
|
|
14526
|
-
|
|
14540
|
+
zen: "zen";
|
|
14541
|
+
}>, z$1.ZodString]>;
|
|
14527
14542
|
sourceProfileDirectory: z$1.ZodString;
|
|
14528
14543
|
}, z$1.core.$strict>;
|
|
14529
14544
|
type ExperimentalDesktopBrowserHostRequest = z$1.infer<typeof desktopBrowserHostRequestSchema>;
|
|
@@ -16614,15 +16629,21 @@ type ExperimentalSidebarNavigationAction = {
|
|
|
16614
16629
|
kind: "search-threads";
|
|
16615
16630
|
} | {
|
|
16616
16631
|
kind: "open-extensions";
|
|
16632
|
+
} | {
|
|
16633
|
+
kind: "open-skills";
|
|
16617
16634
|
} | {
|
|
16618
16635
|
kind: "open-plugin-panel";
|
|
16619
16636
|
pluginId: string;
|
|
16620
16637
|
panelId: string;
|
|
16621
16638
|
};
|
|
16622
|
-
/**
|
|
16639
|
+
/**
|
|
16640
|
+
* Semantic icon identity for one sidebar navigation item. Render it with
|
|
16641
|
+
* {@link PluginSdkApp.experimental_SidebarNavigationIcon} to match bb's
|
|
16642
|
+
* artwork, including plugin branding.
|
|
16643
|
+
*/
|
|
16623
16644
|
type ExperimentalSidebarNavigationIcon = {
|
|
16624
16645
|
kind: "host";
|
|
16625
|
-
name: "extensions" | "new-thread" | "search";
|
|
16646
|
+
name: "extensions" | "new-thread" | "search" | "skills";
|
|
16626
16647
|
} | {
|
|
16627
16648
|
kind: "plugin";
|
|
16628
16649
|
pluginId: string;
|
|
@@ -16630,28 +16651,164 @@ type ExperimentalSidebarNavigationIcon = {
|
|
|
16630
16651
|
};
|
|
16631
16652
|
/** One host-owned destination or action a plugin may arrange. */
|
|
16632
16653
|
interface ExperimentalSidebarNavigationItem {
|
|
16654
|
+
/**
|
|
16655
|
+
* Arrangement key, stable across reloads: `__bb__/new-thread`,
|
|
16656
|
+
* `__bb__/search-threads`, `__bb__/extensions`, `__bb__/skills`,
|
|
16657
|
+
* `__bb__/automations`, or `<pluginId>/<panelId>`. The same keys appear in
|
|
16658
|
+
* the `sidebar.pluginPanelOrder` and `sidebar.visiblePluginPanels`
|
|
16659
|
+
* settings.
|
|
16660
|
+
*/
|
|
16633
16661
|
id: string;
|
|
16634
16662
|
label: string;
|
|
16635
16663
|
icon: ExperimentalSidebarNavigationIcon;
|
|
16636
16664
|
action: ExperimentalSidebarNavigationAction;
|
|
16637
16665
|
isDisabled: boolean;
|
|
16666
|
+
/**
|
|
16667
|
+
* False when the user hid the item from the sidebar. Draw hidden items in an
|
|
16668
|
+
* overflow menu rather than dropping them, so they stay reachable.
|
|
16669
|
+
*/
|
|
16670
|
+
isVisible: boolean;
|
|
16671
|
+
/**
|
|
16672
|
+
* A plugin panel remembered from the last session whose bundle has not
|
|
16673
|
+
* registered yet. Activating it does nothing until it loads.
|
|
16674
|
+
*/
|
|
16675
|
+
isLoading: boolean;
|
|
16676
|
+
/**
|
|
16677
|
+
* The plugin that contributed this panel; null for bb's own items. Gates
|
|
16678
|
+
* `openDetails` and `disablePlugin`.
|
|
16679
|
+
*/
|
|
16680
|
+
pluginId: string | null;
|
|
16638
16681
|
shortcut: ExperimentalSidebarNavigationShortcut | null;
|
|
16639
|
-
|
|
16640
|
-
|
|
16641
|
-
|
|
16682
|
+
/**
|
|
16683
|
+
* The panel's `experimental_sidebarAccessory`, already wrapped in the host's
|
|
16684
|
+
* crash boundary. Null for bb's items, panels without an accessory, and on
|
|
16685
|
+
* compact viewports. Keep it within one line, about 4rem by 1.25rem.
|
|
16686
|
+
*/
|
|
16687
|
+
experimental_Accessory: ComponentType | null;
|
|
16642
16688
|
}
|
|
16643
16689
|
/** How the host should activate a sidebar navigation item. */
|
|
16644
16690
|
interface ExperimentalSidebarNavigationActivationOptions {
|
|
16645
16691
|
openInSplit: boolean;
|
|
16646
16692
|
}
|
|
16647
|
-
/**
|
|
16648
|
-
|
|
16693
|
+
/**
|
|
16694
|
+
* Host behavior for sidebar navigation items (see
|
|
16695
|
+
* {@link ExperimentalSidebarNavigationState}). Unknown item ids are ignored.
|
|
16696
|
+
* Calls made after the calling component unmounts do nothing.
|
|
16697
|
+
*/
|
|
16698
|
+
interface ExperimentalSidebarNavigationActions {
|
|
16699
|
+
/**
|
|
16700
|
+
* Run the item's host behavior and close the mobile sidebar drawer.
|
|
16701
|
+
* `openInSplit` is ignored where splits are unavailable, and disabled or
|
|
16702
|
+
* loading items do nothing.
|
|
16703
|
+
*/
|
|
16704
|
+
activate(itemId: string, options: ExperimentalSidebarNavigationActivationOptions): void;
|
|
16705
|
+
/** Hide or show one item. Persists to `sidebar.visiblePluginPanels`. */
|
|
16706
|
+
setVisible(itemId: string, isVisible: boolean): void;
|
|
16707
|
+
/**
|
|
16708
|
+
* Save a new order. Pass item ids in the order you want; unknown ids are
|
|
16709
|
+
* dropped and ids you leave out keep their relative order after the ones
|
|
16710
|
+
* you pass. Persists to `sidebar.pluginPanelOrder`.
|
|
16711
|
+
*/
|
|
16712
|
+
setOrder(itemIds: readonly string[]): void;
|
|
16713
|
+
/** Open bb's customize editor, which reorders and hides items. */
|
|
16714
|
+
openCustomize(): void;
|
|
16715
|
+
/** Open the owning plugin's details. Does nothing when `pluginId` is null. */
|
|
16716
|
+
openDetails(itemId: string): void;
|
|
16717
|
+
/**
|
|
16718
|
+
* Disable the owning plugin, leave its panel if it is open, and show a
|
|
16719
|
+
* toast. Rejects after the host's error toast when disabling fails. Does
|
|
16720
|
+
* nothing when `pluginId` is null.
|
|
16721
|
+
*/
|
|
16722
|
+
disablePlugin(itemId: string): Promise<void>;
|
|
16723
|
+
}
|
|
16724
|
+
/** What {@link PluginSdkApp.experimental_useSidebarNavigation} returns. */
|
|
16725
|
+
interface ExperimentalSidebarNavigationState {
|
|
16726
|
+
/** Every item in the user's saved order, visible and hidden. */
|
|
16649
16727
|
items: readonly ExperimentalSidebarNavigationItem[];
|
|
16728
|
+
/** The item whose destination the route currently shows, or null. */
|
|
16650
16729
|
activeItemId: string | null;
|
|
16730
|
+
/**
|
|
16731
|
+
* True while the user holds the app command modifier, when bb's own rows
|
|
16732
|
+
* reveal their `shortcut` labels. Show yours at the same time.
|
|
16733
|
+
*/
|
|
16734
|
+
isShortcutModifierHeld: boolean;
|
|
16735
|
+
actions: ExperimentalSidebarNavigationActions;
|
|
16736
|
+
}
|
|
16737
|
+
/**
|
|
16738
|
+
* Per-item drag-to-split support (see
|
|
16739
|
+
* {@link PluginSdkApp.experimental_useSidebarNavigationSplit}). Same contract
|
|
16740
|
+
* as {@link PluginSidebarThreadSplit}.
|
|
16741
|
+
*/
|
|
16742
|
+
interface ExperimentalSidebarNavigationSplit {
|
|
16743
|
+
/**
|
|
16744
|
+
* Spread onto the item's interactive element. Empty when the item cannot
|
|
16745
|
+
* open in a pane, so spreading it is always safe.
|
|
16746
|
+
*/
|
|
16747
|
+
splitProps: {
|
|
16748
|
+
onPointerDown?: (event: react.PointerEvent<HTMLElement>) => void;
|
|
16749
|
+
};
|
|
16750
|
+
/**
|
|
16751
|
+
* False for items that cannot open in a pane (Search, Plugins, Skills), on
|
|
16752
|
+
* compact viewports, and when splits are unavailable.
|
|
16753
|
+
*/
|
|
16754
|
+
isAvailable: boolean;
|
|
16755
|
+
/** Where this item's destination sits in the split layout, or null. */
|
|
16756
|
+
layout: {
|
|
16757
|
+
panes: readonly PluginSidebarSplitPane[];
|
|
16758
|
+
} | null;
|
|
16759
|
+
}
|
|
16760
|
+
/** Options for {@link PluginSdkApp.experimental_useSidebarNavigationSplit}. */
|
|
16761
|
+
interface ExperimentalSidebarNavigationSplitOptions {
|
|
16762
|
+
/**
|
|
16763
|
+
* `sidebar` (the default) engages the drag once the pointer leaves the
|
|
16764
|
+
* sidebar, so a row list with its own drag-to-reorder keeps working.
|
|
16765
|
+
* `distance` engages after a short movement in any direction; use it for
|
|
16766
|
+
* rows inside a menu or popover that covers the main area.
|
|
16767
|
+
*/
|
|
16768
|
+
activation?: "distance" | "sidebar";
|
|
16769
|
+
/** Called when the drag engages, for example to close the menu the row is in. */
|
|
16770
|
+
onDragStart?: () => void;
|
|
16771
|
+
}
|
|
16772
|
+
/** Props for {@link PluginSdkApp.experimental_SidebarNavigationIcon}. */
|
|
16773
|
+
interface ExperimentalSidebarNavigationIconProps {
|
|
16774
|
+
icon: ExperimentalSidebarNavigationIcon;
|
|
16775
|
+
className?: string;
|
|
16776
|
+
}
|
|
16777
|
+
/**
|
|
16778
|
+
* Props passed to an `experimental_sidebarNavigation` component. Read the
|
|
16779
|
+
* items and their actions with
|
|
16780
|
+
* {@link PluginSdkApp.experimental_useSidebarNavigation}.
|
|
16781
|
+
*/
|
|
16782
|
+
interface ExperimentalSidebarNavigationProps {
|
|
16651
16783
|
isCompactViewport: boolean;
|
|
16652
|
-
|
|
16784
|
+
/**
|
|
16785
|
+
* Renders bb's bundled Navigation plugin, or nothing while it is disabled.
|
|
16786
|
+
* Kept for plugins written before `experimental_useSidebarNavigation`;
|
|
16787
|
+
* render items from that hook instead. Scheduled for removal.
|
|
16788
|
+
*
|
|
16789
|
+
* @deprecated
|
|
16790
|
+
*/
|
|
16653
16791
|
experimental_Original: ComponentType;
|
|
16654
16792
|
}
|
|
16793
|
+
/**
|
|
16794
|
+
* Props passed to an `experimental_sidebarHeader` component, rendered in the
|
|
16795
|
+
* sidebar's header row between the sidebar toggle (and the macOS window
|
|
16796
|
+
* controls) and bb's back and forward buttons.
|
|
16797
|
+
*/
|
|
16798
|
+
interface ExperimentalSidebarHeaderProps {
|
|
16799
|
+
/**
|
|
16800
|
+
* Width in px of the space the component may use, updated when the sidebar
|
|
16801
|
+
* resizes or the window chrome changes. It can be smaller than
|
|
16802
|
+
* `controlSize` in a narrow sidebar.
|
|
16803
|
+
*/
|
|
16804
|
+
width: number;
|
|
16805
|
+
/**
|
|
16806
|
+
* Width and height in px of the header's own buttons, equal to the
|
|
16807
|
+
* `--bb-sidebar-control-size` CSS variable. Size your controls to match.
|
|
16808
|
+
*/
|
|
16809
|
+
controlSize: number;
|
|
16810
|
+
isCompactViewport: boolean;
|
|
16811
|
+
}
|
|
16655
16812
|
/**
|
|
16656
16813
|
* Props passed to an `experimental_threadList` component — the sidebar's
|
|
16657
16814
|
* scrolling thread area, replaced wholesale by one plugin.
|
|
@@ -17619,7 +17776,7 @@ interface PluginSidebarThreadActions {
|
|
|
17619
17776
|
setRead(threadId: string, read: boolean): Promise<void>;
|
|
17620
17777
|
/** Silent rename — no dialog. For inline editing in your own row. */
|
|
17621
17778
|
rename(threadId: string, title: string): Promise<void>;
|
|
17622
|
-
/**
|
|
17779
|
+
/** Opens bb's confirmation before archiving the thread and its children. */
|
|
17623
17780
|
archive(threadId: string): void;
|
|
17624
17781
|
/**
|
|
17625
17782
|
* Opens bb's delete confirmation, which counts child threads first. Deletion
|
|
@@ -17752,7 +17909,14 @@ interface PluginThreadListRegistration {
|
|
|
17752
17909
|
description?: string;
|
|
17753
17910
|
component: ComponentType<PluginThreadListProps>;
|
|
17754
17911
|
}
|
|
17755
|
-
/**
|
|
17912
|
+
/**
|
|
17913
|
+
* Replace the navigation controls above the sidebar thread list. Exclusive:
|
|
17914
|
+
* the user picks one provider under Settings → Appearance → Navigation, and
|
|
17915
|
+
* bb ships its own rows as the bundled Navigation plugin
|
|
17916
|
+
* (`navigation/navigation`, the default). A picked provider that is disabled
|
|
17917
|
+
* or removed falls back to Navigation; a crashing provider is replaced by a
|
|
17918
|
+
* placeholder with a Reload button.
|
|
17919
|
+
*/
|
|
17756
17920
|
interface ExperimentalSidebarNavigationRegistration {
|
|
17757
17921
|
/** Unique within the plugin; letters, digits, `-`, `_`. */
|
|
17758
17922
|
id: string;
|
|
@@ -17762,6 +17926,23 @@ interface ExperimentalSidebarNavigationRegistration {
|
|
|
17762
17926
|
description?: string;
|
|
17763
17927
|
component: ComponentType<ExperimentalSidebarNavigationProps>;
|
|
17764
17928
|
}
|
|
17929
|
+
/**
|
|
17930
|
+
* Render a component in the sidebar's header row, between the sidebar toggle
|
|
17931
|
+
* and bb's back and forward buttons. Exclusive: the user picks at most one
|
|
17932
|
+
* header under Settings → Appearance, and by default the header shows only
|
|
17933
|
+
* bb's own controls. Content is clipped to the row, so it cannot move the
|
|
17934
|
+
* thread list or bb's controls. On macOS the empty space keeps dragging the
|
|
17935
|
+
* window; buttons, links, and inputs do not.
|
|
17936
|
+
*/
|
|
17937
|
+
interface ExperimentalSidebarHeaderRegistration {
|
|
17938
|
+
/** Unique within the plugin; letters, digits, `-`, `_`. */
|
|
17939
|
+
id: string;
|
|
17940
|
+
/** Label shown in Settings → Appearance and capability details. */
|
|
17941
|
+
title: string;
|
|
17942
|
+
/** Optional one-line description shown with the provider choice. */
|
|
17943
|
+
description?: string;
|
|
17944
|
+
component: ComponentType<ExperimentalSidebarHeaderProps>;
|
|
17945
|
+
}
|
|
17765
17946
|
/**
|
|
17766
17947
|
* Register this plugin as a viewer/editor for file extensions. By default,
|
|
17767
17948
|
* matching files render the first applicable opener in deterministic slot
|
|
@@ -18166,6 +18347,12 @@ interface PluginAppSlots {
|
|
|
18166
18347
|
sidebarFooterAction(registration: PluginSidebarFooterActionRegistration): void;
|
|
18167
18348
|
/** Replace the bounded sidebar navigation controls. */
|
|
18168
18349
|
experimental_sidebarNavigation(registration: ExperimentalSidebarNavigationRegistration): void;
|
|
18350
|
+
/**
|
|
18351
|
+
* Render a component in the sidebar header row (see
|
|
18352
|
+
* {@link ExperimentalSidebarHeaderRegistration}). Experimental: see
|
|
18353
|
+
* docs/api_to_audit.md.
|
|
18354
|
+
*/
|
|
18355
|
+
experimental_sidebarHeader(registration: ExperimentalSidebarHeaderRegistration): void;
|
|
18169
18356
|
/**
|
|
18170
18357
|
* Replace the sidebar's thread list (see
|
|
18171
18358
|
* {@link PluginThreadListRegistration}). Experimental: see
|
|
@@ -19172,6 +19359,15 @@ interface PluginSdkApp {
|
|
|
19172
19359
|
useRealtimeConnectionState(): PluginRealtimeConnectionState;
|
|
19173
19360
|
useSettings(): PluginSettingsState;
|
|
19174
19361
|
useBbContext(): BbContext;
|
|
19362
|
+
/**
|
|
19363
|
+
* The id of the plugin that owns the calling component: the same id
|
|
19364
|
+
* `bb.pluginId` reports on the server, derived from the package name. Key
|
|
19365
|
+
* state the plugin keeps outside bb's per-plugin storage with it, such as
|
|
19366
|
+
* localStorage entries and log prefixes, so a copy of the plugin published
|
|
19367
|
+
* under another name does not collide with the original. Experimental: see
|
|
19368
|
+
* docs/api_to_audit.md.
|
|
19369
|
+
*/
|
|
19370
|
+
experimental_usePluginId(): string;
|
|
19175
19371
|
useBbNavigate(): BbNavigate;
|
|
19176
19372
|
/** Select one of this plugin's eligible fixed tabs on the current surface. */
|
|
19177
19373
|
experimental_useAppPanel(): ExperimentalAppPanel;
|
|
@@ -19221,6 +19417,27 @@ interface PluginSdkApp {
|
|
|
19221
19417
|
* Experimental: see docs/api_to_audit.md.
|
|
19222
19418
|
*/
|
|
19223
19419
|
experimental_useSidebarThreadSplit(threadId: string): PluginSidebarThreadSplit;
|
|
19420
|
+
/**
|
|
19421
|
+
* The sidebar navigation items in the user's saved order, the active item,
|
|
19422
|
+
* and the host actions that activate, hide, reorder, and customize them
|
|
19423
|
+
* (see {@link ExperimentalSidebarNavigationState}). One model shared by
|
|
19424
|
+
* every caller in the sidebar. Items keep their identity while unchanged.
|
|
19425
|
+
* Outside the sidebar it returns no items and actions that do nothing.
|
|
19426
|
+
* Experimental: see docs/api_to_audit.md.
|
|
19427
|
+
*/
|
|
19428
|
+
experimental_useSidebarNavigation(): ExperimentalSidebarNavigationState;
|
|
19429
|
+
/**
|
|
19430
|
+
* Per-item drag-to-split support for navigation items (see
|
|
19431
|
+
* {@link ExperimentalSidebarNavigationSplit}). Call it once per rendered
|
|
19432
|
+
* item. Experimental: see docs/api_to_audit.md.
|
|
19433
|
+
*/
|
|
19434
|
+
experimental_useSidebarNavigationSplit(itemId: string, options?: ExperimentalSidebarNavigationSplitOptions): ExperimentalSidebarNavigationSplit;
|
|
19435
|
+
/**
|
|
19436
|
+
* bb's artwork for a navigation item's icon: bb's glyphs for its own items,
|
|
19437
|
+
* and the contributing plugin's branding for plugin panels. Experimental:
|
|
19438
|
+
* see docs/api_to_audit.md.
|
|
19439
|
+
*/
|
|
19440
|
+
experimental_SidebarNavigationIcon: ComponentType<ExperimentalSidebarNavigationIconProps>;
|
|
19224
19441
|
/**
|
|
19225
19442
|
* Whether the composer holds an unsent draft for one thread (see
|
|
19226
19443
|
* {@link PluginSidebarThreadDraftState}). Per row, because a draft is
|
|
@@ -19381,7 +19598,7 @@ interface PluginSdkApp {
|
|
|
19381
19598
|
|
|
19382
19599
|
declare const experimental_Icon: react.ComponentType<ExperimentalIconProps>;
|
|
19383
19600
|
declare const experimental_ProviderIcon: react.ComponentType<ExperimentalProviderIconProps>;
|
|
19384
|
-
declare const definePluginApp:
|
|
19601
|
+
declare const definePluginApp: PluginSdkApp["definePluginApp"];
|
|
19385
19602
|
declare const ThreadChat: react.ComponentType<ThreadChatProps>;
|
|
19386
19603
|
declare const Markdown: react.ComponentType<MarkdownProps>;
|
|
19387
19604
|
declare const experimental_FileLink: react.ComponentType<ExperimentalFileLinkProps>;
|
|
@@ -19399,6 +19616,7 @@ declare const useRealtime: (channel: string, handler: (payload: unknown) => void
|
|
|
19399
19616
|
declare const useRealtimeConnectionState: () => PluginRealtimeConnectionState;
|
|
19400
19617
|
declare const useSettings: () => PluginSettingsState;
|
|
19401
19618
|
declare const useBbContext: () => BbContext;
|
|
19619
|
+
declare const experimental_usePluginId: () => string;
|
|
19402
19620
|
declare const useBbNavigate: () => BbNavigate;
|
|
19403
19621
|
declare const experimental_useAppPanel: () => ExperimentalAppPanel;
|
|
19404
19622
|
declare const experimental_useFixedTabTarget: <Target extends JsonValue$1>(tab: ExperimentalPluginFixedTabReference<Target>) => ExperimentalFixedTabTargetState<Target> | null;
|
|
@@ -19410,6 +19628,9 @@ declare const experimental_useSidebarThreads: (options?: {
|
|
|
19410
19628
|
declare const experimental_useSidebarThreadActions: () => PluginSidebarThreadActions;
|
|
19411
19629
|
declare const experimental_useSidebarThreadPullRequest: (threadId: string) => PluginSidebarThreadPullRequestState;
|
|
19412
19630
|
declare const experimental_useSidebarThreadSplit: (threadId: string) => PluginSidebarThreadSplit;
|
|
19631
|
+
declare const experimental_useSidebarNavigation: () => ExperimentalSidebarNavigationState;
|
|
19632
|
+
declare const experimental_useSidebarNavigationSplit: (itemId: string, options?: ExperimentalSidebarNavigationSplitOptions) => ExperimentalSidebarNavigationSplit;
|
|
19633
|
+
declare const experimental_SidebarNavigationIcon: react.ComponentType<ExperimentalSidebarNavigationIconProps>;
|
|
19413
19634
|
declare const useSidebarThreadDraft: (threadId: string) => PluginSidebarThreadDraftState;
|
|
19414
19635
|
declare const useSidebarThreadDraftIds: () => ReadonlySet<string>;
|
|
19415
19636
|
declare const useSidebarThreadRowStatus: (threadId: string) => PluginSidebarThreadRowStatus | null;
|
|
@@ -19422,5 +19643,5 @@ declare const useSdk: () => PluginBrowserBbSdk;
|
|
|
19422
19643
|
declare const experimental_useProviders: () => PluginProvidersState;
|
|
19423
19644
|
declare const experimental_useCodeTheme: () => PluginCodeThemeState;
|
|
19424
19645
|
|
|
19425
|
-
export { Markdown, ThreadChat, ThreadTitle, UrlLink, definePluginApp, experimental_BranchPicker, experimental_Diff, experimental_FileLink, experimental_Icon, experimental_NewThreadComposer, experimental_PermissionModePicker, experimental_ProviderIcon, experimental_ProviderModelPicker, experimental_SourceCode, experimental_useAppPanel, experimental_useBranches, experimental_useCheckoutState, experimental_useCodeTheme, experimental_useFixedTabTarget, experimental_useProviders, experimental_useSidebarThreadActions, experimental_useSidebarThreadPullRequest, experimental_useSidebarThreadSplit, experimental_useSidebarThreads, useBbContext, useBbNavigate, useComposer, useComposerView, useEnvironmentProviders, useRealtime, useRealtimeConnectionState, useRpc, useSdk, useSettings, useSidebarSplitLayout, useSidebarThreadDraft, useSidebarThreadDraftIds, useSidebarThreadRowStatus, useSidebarThreadRowStatuses, useSidebarThreadShortcut };
|
|
19426
|
-
export type { BbContext, BbNavigate, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerCustomization, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerStructuredDraft, ComposerView, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerSelection, ExperimentalComposerSubmitOptions, ExperimentalDiffFileContent, ExperimentalDiffFullFileContents, ExperimentalFileLinkProps, ExperimentalFileLocation, ExperimentalFileOpenOptions, ExperimentalFixedTabTargetContract, ExperimentalFixedTabTargetState, ExperimentalIconProps, ExperimentalIconRegistration, ExperimentalLiveFileTarget, ExperimentalOpenFixedTabOptions, ExperimentalPermissionModePickerProps, ExperimentalPluginBrowserPage, ExperimentalPluginBrowserPageEvaluateOptions, ExperimentalPluginBrowserPageWorld, ExperimentalPluginBrowserToolbarActionProps, ExperimentalPluginBrowserToolbarActionRegistration, ExperimentalPluginFixedTabReference, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, JsonValue$1 as JsonValue, MarkdownProps, NewThreadComposerProps, NewThreadRequest, PluginAppBuilder, PluginAppCommands, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginBoundThreadsArea, PluginBrowserBbSdk, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandContext, PluginCommandRegistration, PluginCommandShortcut, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginEnvironmentProvider, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, PluginEnvironmentProvidersState, PluginFileOpenerProps, PluginFileOpenerRegistration, PluginFileOpenerSource, PluginFixedTabDeclaration, PluginFixedTabRegistration, PluginHomepageSectionProps, PluginHomepageSectionRegistration, PluginMachineProviderInputsChange, PluginMachineProviderInputsProps, PluginMachineProviderInputsRegistration, PluginMessageActionContext, PluginMessageActionRegistration, PluginMessageDirectiveMessage, PluginMessageDirectiveOpenWorkspaceFile, PluginMessageDirectiveProps, PluginMessageDirectiveRegistration, PluginNavPanelProps, PluginNavPanelRegistration, PluginNewThreadPanelActionContext, PluginNewThreadPanelActionRegistration, PluginNewThreadPanelProps, PluginPanelActionOpenOptions, PluginPendingInteractionProps, PluginPendingInteractionRegistration, PluginPendingInteractionView, PluginProviderIconRegistration, PluginProvidersState, PluginRealtimeConnectionState, PluginRpcCallArgs, PluginRpcClient, PluginRpcContract, PluginRpcError, PluginRpcErrorCode, PluginRpcHandlers, PluginRpcIssuePathSegment, PluginRpcMethodContract, PluginRpcResult, PluginRpcValidationIssue, PluginSdkApp, PluginSettingsSectionProps, PluginSettingsSectionRegistration, PluginSettingsState, PluginSidebarFooterActionContext, PluginSidebarFooterActionProps, PluginSidebarFooterActionRegistration, PluginSidebarProject, PluginSidebarPullRequest, PluginSidebarSection, PluginSidebarSplitLayout, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadDraftState, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadRowStatus, PluginSidebarThreadShortcut, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginTargetedPanelActionOpenOptions, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginThreadTitleProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, ReadonlyJsonValue, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };
|
|
19646
|
+
export { Markdown, ThreadChat, ThreadTitle, UrlLink, definePluginApp, experimental_BranchPicker, experimental_Diff, experimental_FileLink, experimental_Icon, experimental_NewThreadComposer, experimental_PermissionModePicker, experimental_ProviderIcon, experimental_ProviderModelPicker, experimental_SidebarNavigationIcon, experimental_SourceCode, experimental_useAppPanel, experimental_useBranches, experimental_useCheckoutState, experimental_useCodeTheme, experimental_useFixedTabTarget, experimental_usePluginId, experimental_useProviders, experimental_useSidebarNavigation, experimental_useSidebarNavigationSplit, experimental_useSidebarThreadActions, experimental_useSidebarThreadPullRequest, experimental_useSidebarThreadSplit, experimental_useSidebarThreads, useBbContext, useBbNavigate, useComposer, useComposerView, useEnvironmentProviders, useRealtime, useRealtimeConnectionState, useRpc, useSdk, useSettings, useSidebarSplitLayout, useSidebarThreadDraft, useSidebarThreadDraftIds, useSidebarThreadRowStatus, useSidebarThreadRowStatuses, useSidebarThreadShortcut };
|
|
19647
|
+
export type { BbContext, BbNavigate, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerCustomization, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerStructuredDraft, ComposerView, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerSelection, ExperimentalComposerSubmitOptions, ExperimentalDiffFileContent, ExperimentalDiffFullFileContents, ExperimentalFileLinkProps, ExperimentalFileLocation, ExperimentalFileOpenOptions, ExperimentalFixedTabTargetContract, ExperimentalFixedTabTargetState, ExperimentalIconProps, ExperimentalIconRegistration, ExperimentalLiveFileTarget, ExperimentalOpenFixedTabOptions, ExperimentalPermissionModePickerProps, ExperimentalPluginBrowserPage, ExperimentalPluginBrowserPageEvaluateOptions, ExperimentalPluginBrowserPageWorld, ExperimentalPluginBrowserToolbarActionProps, ExperimentalPluginBrowserToolbarActionRegistration, ExperimentalPluginFixedTabReference, 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$1 as JsonValue, MarkdownProps, NewThreadComposerProps, NewThreadRequest, PluginAppBuilder, PluginAppCommands, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginBoundThreadsArea, PluginBrowserBbSdk, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandContext, PluginCommandRegistration, PluginCommandShortcut, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginEnvironmentProvider, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, PluginEnvironmentProvidersState, PluginFileOpenerProps, PluginFileOpenerRegistration, PluginFileOpenerSource, PluginFixedTabDeclaration, PluginFixedTabRegistration, PluginHomepageSectionProps, PluginHomepageSectionRegistration, PluginMachineProviderInputsChange, PluginMachineProviderInputsProps, PluginMachineProviderInputsRegistration, PluginMessageActionContext, PluginMessageActionRegistration, PluginMessageDirectiveMessage, PluginMessageDirectiveOpenWorkspaceFile, PluginMessageDirectiveProps, PluginMessageDirectiveRegistration, PluginNavPanelProps, PluginNavPanelRegistration, PluginNewThreadPanelActionContext, PluginNewThreadPanelActionRegistration, PluginNewThreadPanelProps, PluginPanelActionOpenOptions, PluginPendingInteractionProps, PluginPendingInteractionRegistration, PluginPendingInteractionView, PluginProviderIconRegistration, PluginProvidersState, PluginRealtimeConnectionState, PluginRpcCallArgs, PluginRpcClient, PluginRpcContract, PluginRpcError, PluginRpcErrorCode, PluginRpcHandlers, PluginRpcIssuePathSegment, PluginRpcMethodContract, PluginRpcResult, PluginRpcValidationIssue, PluginSdkApp, PluginSettingsSectionProps, PluginSettingsSectionRegistration, PluginSettingsState, PluginSidebarFooterActionContext, PluginSidebarFooterActionProps, PluginSidebarFooterActionRegistration, PluginSidebarProject, PluginSidebarPullRequest, PluginSidebarSection, PluginSidebarSplitLayout, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadDraftState, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadRowStatus, PluginSidebarThreadShortcut, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginTargetedPanelActionOpenOptions, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginThreadTitleProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, ReadonlyJsonValue, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// and read the real source: https://github.com/get-bb/bb
|
|
7
7
|
|
|
8
8
|
import { z } from 'zod';
|
|
9
|
-
import { ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterItemRegistration, PluginHomepageSectionRegistration, PluginSettingsSectionRegistration, ExperimentalAppOverlayRegistration, PluginNavPanelRegistration, PluginThreadPanelActionRegistration, PluginNewThreadPanelActionRegistration, ComposerCustomization, PluginPendingInteractionRegistration, PluginSidebarFooterActionRegistration, ExperimentalSidebarNavigationRegistration, PluginThreadListRegistration, PluginThreadHeaderActionRegistration, ExperimentalPluginBrowserToolbarActionRegistration, PluginFileOpenerRegistration, PluginSourceCodeRendererRegistration, PluginDiffRendererRegistration, PluginMessageDirectiveRegistration, PluginMessageActionRegistration, PluginCommandRegistration, PluginProviderIconRegistration, ExperimentalIconRegistration, PluginTimelineRendererRegistration, PluginEnvironmentProviderInputsRegistration, PluginMachineProviderInputsRegistration, PluginContentScriptRegistration, PluginAppDefinition } from '@get-bb/plugin-sdk';
|
|
9
|
+
import { ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterItemRegistration, PluginHomepageSectionRegistration, PluginSettingsSectionRegistration, ExperimentalAppOverlayRegistration, PluginNavPanelRegistration, PluginThreadPanelActionRegistration, PluginNewThreadPanelActionRegistration, ComposerCustomization, PluginPendingInteractionRegistration, PluginSidebarFooterActionRegistration, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarHeaderRegistration, PluginThreadListRegistration, PluginThreadHeaderActionRegistration, ExperimentalPluginBrowserToolbarActionRegistration, PluginFileOpenerRegistration, PluginSourceCodeRendererRegistration, PluginDiffRendererRegistration, PluginMessageDirectiveRegistration, PluginMessageActionRegistration, PluginCommandRegistration, PluginProviderIconRegistration, ExperimentalIconRegistration, PluginTimelineRendererRegistration, PluginEnvironmentProviderInputsRegistration, PluginMachineProviderInputsRegistration, PluginContentScriptRegistration, PluginAppDefinition } from '@get-bb/plugin-sdk';
|
|
10
10
|
|
|
11
11
|
type ExperimentalSidebarFooterCommandKind = "close" | "open" | "toggle";
|
|
12
12
|
interface ExperimentalSidebarFooterRuntimeSnapshot {
|
|
@@ -64,6 +64,7 @@ interface CollectedPluginAppRegistrations {
|
|
|
64
64
|
sidebarFooterActions: PluginSidebarFooterActionRegistration[];
|
|
65
65
|
experimentalSidebarFooterItems: CollectedExperimentalSidebarFooterItem[];
|
|
66
66
|
experimentalSidebarNavigations: ExperimentalSidebarNavigationRegistration[];
|
|
67
|
+
experimentalSidebarHeaders: ExperimentalSidebarHeaderRegistration[];
|
|
67
68
|
threadLists: PluginThreadListRegistration[];
|
|
68
69
|
threadHeaderActions: PluginThreadHeaderActionRegistration[];
|
|
69
70
|
browserToolbarActions: ExperimentalPluginBrowserToolbarActionRegistration[];
|