@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
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { ReactNode, ComponentType } from 'react';
|
|
9
9
|
import { RenderResult } from '@testing-library/react';
|
|
10
|
-
import { ExperimentalSidebarFooterItemRegistration, PluginProviderIconRegistration, PluginHomepageSectionRegistration, PluginSettingsSectionRegistration, ExperimentalAppOverlayRegistration, PluginNavPanelRegistration, PluginThreadPanelActionRegistration, PluginNewThreadPanelActionRegistration, ComposerCustomization, PluginPendingInteractionRegistration, PluginSidebarFooterActionRegistration, ExperimentalSidebarNavigationRegistration, PluginThreadListRegistration, PluginThreadHeaderActionRegistration, ExperimentalPluginBrowserToolbarActionRegistration, PluginFileOpenerRegistration, PluginSourceCodeRendererRegistration, PluginDiffRendererRegistration, PluginMessageDirectiveRegistration, PluginMessageActionRegistration, ExperimentalIconRegistration, PluginTimelineRendererRegistration, PluginEnvironmentProviderInputsRegistration, PluginMachineProviderInputsRegistration, PluginContentScriptRegistration, PluginComposerScope, PluginComposerTextEffect, PluginComposerMention, ExperimentalComposerSubmitOptions, ExperimentalComposerSelection, PluginComposerThreadRowStatus, ExperimentalOpenFixedTabOptions, JsonValue, BbNavigate, ExperimentalFileOpenOptions, PluginAppDefinition, PluginRpcContract, StandardSchemaV1InferInput, PluginRpcResult, PluginBrowserBbSdk, PluginRealtimeConnectionState, PluginSidebarThreadsState, PluginProvidersState, PluginCodeThemeState, BranchesState, CheckoutState, PluginSidebarPullRequest, PluginSidebarThreadRowStatus, PluginSidebarThreadShortcut, PluginSidebarSplitLayout, PluginEnvironmentProvidersState, PluginSidebarThreadActions } from '@get-bb/plugin-sdk';
|
|
10
|
+
import { ExperimentalSidebarFooterItemRegistration, PluginProviderIconRegistration, PluginHomepageSectionRegistration, PluginSettingsSectionRegistration, ExperimentalAppOverlayRegistration, PluginNavPanelRegistration, PluginThreadPanelActionRegistration, PluginNewThreadPanelActionRegistration, ComposerCustomization, PluginPendingInteractionRegistration, PluginSidebarFooterActionRegistration, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarHeaderRegistration, PluginThreadListRegistration, PluginThreadHeaderActionRegistration, ExperimentalPluginBrowserToolbarActionRegistration, PluginFileOpenerRegistration, PluginSourceCodeRendererRegistration, PluginDiffRendererRegistration, PluginMessageDirectiveRegistration, PluginMessageActionRegistration, ExperimentalIconRegistration, PluginTimelineRendererRegistration, PluginEnvironmentProviderInputsRegistration, PluginMachineProviderInputsRegistration, PluginContentScriptRegistration, PluginComposerScope, PluginComposerTextEffect, PluginComposerMention, ExperimentalComposerSubmitOptions, ExperimentalComposerSelection, PluginComposerThreadRowStatus, ExperimentalOpenFixedTabOptions, JsonValue, BbNavigate, ExperimentalFileOpenOptions, PluginAppDefinition, PluginRpcContract, StandardSchemaV1InferInput, PluginRpcResult, PluginBrowserBbSdk, PluginRealtimeConnectionState, PluginSidebarThreadsState, PluginProvidersState, PluginCodeThemeState, BranchesState, CheckoutState, PluginSidebarPullRequest, PluginSidebarThreadRowStatus, PluginSidebarThreadShortcut, PluginSidebarSplitLayout, ExperimentalSidebarNavigationItem, PluginEnvironmentProvidersState, PluginSidebarThreadActions, ExperimentalSidebarNavigationActions } from '@get-bb/plugin-sdk';
|
|
11
11
|
|
|
12
12
|
type ExperimentalSidebarFooterCommandKind = "close" | "open" | "toggle";
|
|
13
13
|
interface ExperimentalSidebarFooterRuntimeSnapshot {
|
|
@@ -35,11 +35,11 @@ type CollectedPluginProviderIconRegistration = Omit<PluginProviderIconRegistrati
|
|
|
35
35
|
*
|
|
36
36
|
* - {@link installTestPluginRuntime} fills `globalThis.__bbPluginRuntime.
|
|
37
37
|
* pluginSdkApp` with a test implementation of the `@get-bb/plugin-sdk/app`
|
|
38
|
-
* surface (the same seam `bb plugin build` shims to the real app).
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* {@link loadPluginApp}
|
|
42
|
-
*
|
|
38
|
+
* surface (the same seam `bb plugin build` shims to the real app). The
|
|
39
|
+
* `@get-bb/plugin-sdk/app` exports look the runtime up when they are called
|
|
40
|
+
* or rendered, so import order does not matter: install the runtime any time
|
|
41
|
+
* before the first hook runs ({@link loadPluginApp} and {@link renderSlot}
|
|
42
|
+
* install it for you).
|
|
43
43
|
* - {@link loadPluginApp} runs the definition's setup against a validating
|
|
44
44
|
* collector (ported from the BB app's interpreter, same error messages)
|
|
45
45
|
* and returns the typed slot registrations.
|
|
@@ -150,9 +150,22 @@ interface SidebarActionCall {
|
|
|
150
150
|
read?: boolean;
|
|
151
151
|
}
|
|
152
152
|
/**
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
|
|
153
|
+
* One recorded `experimental_useSidebarNavigation()` action, or a split drag
|
|
154
|
+
* started from `experimental_useSidebarNavigationSplit()` (`beginSplitDrag`).
|
|
155
|
+
*/
|
|
156
|
+
interface SidebarNavigationCall {
|
|
157
|
+
method: keyof ExperimentalSidebarNavigationActions | "beginSplitDrag";
|
|
158
|
+
itemId?: string;
|
|
159
|
+
itemIds?: string[];
|
|
160
|
+
isVisible?: boolean;
|
|
161
|
+
openInSplit?: boolean;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Install the test runtime at `globalThis.__bbPluginRuntime.pluginSdkApp`,
|
|
165
|
+
* plus the React the `@get-bb/plugin-sdk/app` components render through.
|
|
166
|
+
* Idempotent per module instance. Call it before the first SDK hook runs or
|
|
167
|
+
* SDK component renders; when the plugin's modules are imported does not
|
|
168
|
+
* matter.
|
|
156
169
|
*/
|
|
157
170
|
declare function installTestPluginRuntime(): void;
|
|
158
171
|
interface CapturedPluginApp {
|
|
@@ -167,6 +180,7 @@ interface CapturedPluginApp {
|
|
|
167
180
|
sidebarFooterActions: PluginSidebarFooterActionRegistration[];
|
|
168
181
|
experimentalSidebarFooterItems: CollectedExperimentalSidebarFooterItem[];
|
|
169
182
|
experimentalSidebarNavigations: ExperimentalSidebarNavigationRegistration[];
|
|
183
|
+
experimentalSidebarHeaders: ExperimentalSidebarHeaderRegistration[];
|
|
170
184
|
threadLists: PluginThreadListRegistration[];
|
|
171
185
|
threadHeaderActions: PluginThreadHeaderActionRegistration[];
|
|
172
186
|
browserToolbarActions: ExperimentalPluginBrowserToolbarActionRegistration[];
|
|
@@ -188,9 +202,8 @@ type PluginAppModule = {
|
|
|
188
202
|
type PluginAppSource = PluginAppDefinition | PluginAppModule | (() => Promise<PluginAppDefinition | PluginAppModule>);
|
|
189
203
|
/**
|
|
190
204
|
* Install the test runtime, resolve the plugin app definition, and capture
|
|
191
|
-
* its slot registrations. Pass
|
|
192
|
-
*
|
|
193
|
-
* would bind `definePluginApp` before the installer runs.
|
|
205
|
+
* its slot registrations. Pass the imported module, its default export, or a
|
|
206
|
+
* thunk (`() => import("../app.tsx")`).
|
|
194
207
|
*/
|
|
195
208
|
declare function loadPluginApp(source: PluginAppSource): Promise<CapturedPluginApp>;
|
|
196
209
|
interface ContentScriptTestMountOptions {
|
|
@@ -244,6 +257,8 @@ interface RenderSlotOptions<Contract extends PluginRpcContract = PluginRpcContra
|
|
|
244
257
|
projectId?: string | null;
|
|
245
258
|
threadId?: string | null;
|
|
246
259
|
};
|
|
260
|
+
/** `experimental_usePluginId()` value; defaults to `test-plugin`. */
|
|
261
|
+
pluginId?: string;
|
|
247
262
|
/** Initial `useRealtimeConnectionState()` value; defaults to `connected`. */
|
|
248
263
|
realtimeConnectionState?: PluginRealtimeConnectionState;
|
|
249
264
|
/** Initial state for this render's isolated composer scope and view. */
|
|
@@ -293,6 +308,16 @@ interface RenderSlotOptions<Contract extends PluginRpcContract = PluginRpcContra
|
|
|
293
308
|
sidebarShortcuts?: Record<string, PluginSidebarThreadShortcut>;
|
|
294
309
|
/** The split layout `useSidebarSplitLayout()` reports. Omitted → null. */
|
|
295
310
|
sidebarSplitLayout?: PluginSidebarSplitLayout;
|
|
311
|
+
/**
|
|
312
|
+
* Items and the active item `experimental_useSidebarNavigation()` reports.
|
|
313
|
+
* Omitted → no items. Actions are recorded in
|
|
314
|
+
* `inspection.sidebarNavigationCalls` and do not change the items.
|
|
315
|
+
*/
|
|
316
|
+
sidebarNavigation?: {
|
|
317
|
+
items?: readonly ExperimentalSidebarNavigationItem[];
|
|
318
|
+
activeItemId?: string | null;
|
|
319
|
+
isShortcutModifierHeld?: boolean;
|
|
320
|
+
};
|
|
296
321
|
/**
|
|
297
322
|
* The environment provider catalog `useEnvironmentProviders()` reports.
|
|
298
323
|
* Omitted → a ready, empty list. Pass `{ status: "loading" }` to test that
|
|
@@ -345,6 +370,11 @@ interface RenderedSlotInspectionState {
|
|
|
345
370
|
readonly experimental_fixedTabOpenCalls: ExperimentalFixedTabOpenCall[];
|
|
346
371
|
/** Every `experimental_useSidebarThreadActions()` call, in order. */
|
|
347
372
|
readonly sidebarActionCalls: SidebarActionCall[];
|
|
373
|
+
/**
|
|
374
|
+
* Every `experimental_useSidebarNavigation()` action and navigation split
|
|
375
|
+
* drag, in order.
|
|
376
|
+
*/
|
|
377
|
+
readonly sidebarNavigationCalls: SidebarNavigationCall[];
|
|
348
378
|
/** Every `useSdk()` call, in order, as `"<area>.<method>"`. */
|
|
349
379
|
readonly sdkCalls: SdkCall[];
|
|
350
380
|
/** Everything written through `useComposer()`. */
|
|
@@ -369,4 +399,4 @@ declare function renderSlot<Props extends object, Contract extends PluginRpcCont
|
|
|
369
399
|
}, props: Props, options?: RenderSlotOptions<Contract>): RenderedSlot;
|
|
370
400
|
|
|
371
401
|
export { installTestPluginRuntime, loadPluginApp, mountPluginContentScripts, renderSlot };
|
|
372
|
-
export type { CapturedPluginApp, ComposerLog, ContentScriptTestMountOptions, ContentScriptThreadRowStatusCall, ExperimentalFixedTabOpenCall, MountedPluginContentScripts, NavigateCall, PluginAppSource, PluginRpcTestHandlers, PluginSdkTestFakes, RenderSlotOptions, RenderedSlot, RenderedSlotBehaviorDrivers, RenderedSlotInspectionState, RenderedSlotLifecycleControls, RpcCall, SdkCall, SidebarActionCall };
|
|
402
|
+
export type { CapturedPluginApp, ComposerLog, ContentScriptTestMountOptions, ContentScriptThreadRowStatusCall, ExperimentalFixedTabOpenCall, MountedPluginContentScripts, NavigateCall, PluginAppSource, PluginRpcTestHandlers, PluginSdkTestFakes, RenderSlotOptions, RenderedSlot, RenderedSlotBehaviorDrivers, RenderedSlotInspectionState, RenderedSlotLifecycleControls, RpcCall, SdkCall, SidebarActionCall, SidebarNavigationCall };
|
|
@@ -1321,6 +1321,12 @@ interface FakePluginLifecycleControls {
|
|
|
1321
1321
|
* PluginContextStaleError). Idempotent.
|
|
1322
1322
|
*/
|
|
1323
1323
|
dispose(): Promise<void>;
|
|
1324
|
+
/**
|
|
1325
|
+
* Run every handler registered with `bb.onInstall`, in
|
|
1326
|
+
* registration order, as bb does right after a fresh install. A handler
|
|
1327
|
+
* that throws is logged at warn level and the rest still run.
|
|
1328
|
+
*/
|
|
1329
|
+
install(): Promise<void>;
|
|
1324
1330
|
}
|
|
1325
1331
|
/**
|
|
1326
1332
|
* Complete fake-host harness. Direct members are retained for compatibility;
|
|
@@ -98,7 +98,7 @@ declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
|
|
|
98
98
|
}, z$1.core.$strict>]>;
|
|
99
99
|
type AppSettingsUpdate = z$1.infer<typeof appSettingsUpdateSchema>;
|
|
100
100
|
|
|
101
|
-
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"];
|
|
101
|
+
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"];
|
|
102
102
|
type UiPreferenceKey = (typeof UI_PREFERENCE_KEYS)[number];
|
|
103
103
|
interface UiPreferenceDefinition<Schema extends z$1.ZodTypeAny = z$1.ZodTypeAny> {
|
|
104
104
|
schema: Schema;
|
|
@@ -140,7 +140,8 @@ declare const uiPreferenceDefinitions: {
|
|
|
140
140
|
readonly "sidebar.hiddenFooterItems": UiPreferenceDefinition<z$1.ZodArray<z$1.ZodString>>;
|
|
141
141
|
readonly "sidebar.pluginPanelOrder": UiPreferenceDefinition<z$1.ZodArray<z$1.ZodString>>;
|
|
142
142
|
readonly "sidebar.visiblePluginPanels": UiPreferenceDefinition<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
|
|
143
|
-
readonly "sidebar.navigationProvider": UiPreferenceDefinition<z$1.ZodString
|
|
143
|
+
readonly "sidebar.navigationProvider": UiPreferenceDefinition<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<string, string>>>;
|
|
144
|
+
readonly "sidebar.headerProvider": UiPreferenceDefinition<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<string, string>>>;
|
|
144
145
|
readonly "sidebar.threadListProvider": UiPreferenceDefinition<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<string, string>>>;
|
|
145
146
|
};
|
|
146
147
|
type UiPreferenceValue<Key extends UiPreferenceKey> = z$1.infer<(typeof uiPreferenceDefinitions)[Key]["schema"]>;
|
|
@@ -223,6 +224,7 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
|
|
|
223
224
|
"thread.previous": "thread.previous";
|
|
224
225
|
"thread.rename": "thread.rename";
|
|
225
226
|
"thread.search": "thread.search";
|
|
227
|
+
"window.find": "window.find";
|
|
226
228
|
"window.new": "window.new";
|
|
227
229
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
228
230
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
@@ -5918,18 +5920,20 @@ declare const hostDaemonCommandRegistry: {
|
|
|
5918
5920
|
}, z$1.core.$strict>, z$1.ZodObject<{
|
|
5919
5921
|
sources: z$1.ZodArray<z$1.ZodObject<{
|
|
5920
5922
|
icon: z$1.ZodOptional<z$1.ZodString>;
|
|
5921
|
-
id: z$1.ZodEnum<{
|
|
5923
|
+
id: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
5922
5924
|
arc: "arc";
|
|
5923
5925
|
brave: "brave";
|
|
5924
5926
|
chrome: "chrome";
|
|
5925
5927
|
chromium: "chromium";
|
|
5928
|
+
dia: "dia";
|
|
5926
5929
|
edge: "edge";
|
|
5927
5930
|
firefox: "firefox";
|
|
5928
5931
|
helium: "helium";
|
|
5929
5932
|
opera: "opera";
|
|
5930
5933
|
safari: "safari";
|
|
5931
5934
|
vivaldi: "vivaldi";
|
|
5932
|
-
|
|
5935
|
+
zen: "zen";
|
|
5936
|
+
}>, z$1.ZodString]>;
|
|
5933
5937
|
name: z$1.ZodString;
|
|
5934
5938
|
profiles: z$1.ZodArray<z$1.ZodObject<{
|
|
5935
5939
|
cookieCount: z$1.ZodOptional<z$1.ZodNumber>;
|
|
@@ -5955,18 +5959,20 @@ declare const hostDaemonCommandRegistry: {
|
|
|
5955
5959
|
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
5956
5960
|
kind: z$1.ZodLiteral<"personal">;
|
|
5957
5961
|
}, z$1.core.$strip>], "kind">;
|
|
5958
|
-
sourceId: z$1.ZodEnum<{
|
|
5962
|
+
sourceId: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
5959
5963
|
arc: "arc";
|
|
5960
5964
|
brave: "brave";
|
|
5961
5965
|
chrome: "chrome";
|
|
5962
5966
|
chromium: "chromium";
|
|
5967
|
+
dia: "dia";
|
|
5963
5968
|
edge: "edge";
|
|
5964
5969
|
firefox: "firefox";
|
|
5965
5970
|
helium: "helium";
|
|
5966
5971
|
opera: "opera";
|
|
5967
5972
|
safari: "safari";
|
|
5968
5973
|
vivaldi: "vivaldi";
|
|
5969
|
-
|
|
5974
|
+
zen: "zen";
|
|
5975
|
+
}>, z$1.ZodString]>;
|
|
5970
5976
|
sourceProfileDirectory: z$1.ZodString;
|
|
5971
5977
|
type: z$1.ZodLiteral<"desktop.browser.import_cookies">;
|
|
5972
5978
|
}, z$1.core.$strict>, z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
@@ -8803,18 +8809,20 @@ declare const desktopBrowserCommandSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObj
|
|
|
8803
8809
|
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
8804
8810
|
kind: z$1.ZodLiteral<"personal">;
|
|
8805
8811
|
}, z$1.core.$strip>], "kind">;
|
|
8806
|
-
sourceId: z$1.ZodEnum<{
|
|
8812
|
+
sourceId: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
8807
8813
|
arc: "arc";
|
|
8808
8814
|
brave: "brave";
|
|
8809
8815
|
chrome: "chrome";
|
|
8810
8816
|
chromium: "chromium";
|
|
8817
|
+
dia: "dia";
|
|
8811
8818
|
edge: "edge";
|
|
8812
8819
|
firefox: "firefox";
|
|
8813
8820
|
helium: "helium";
|
|
8814
8821
|
opera: "opera";
|
|
8815
8822
|
safari: "safari";
|
|
8816
8823
|
vivaldi: "vivaldi";
|
|
8817
|
-
|
|
8824
|
+
zen: "zen";
|
|
8825
|
+
}>, z$1.ZodString]>;
|
|
8818
8826
|
sourceProfileDirectory: z$1.ZodString;
|
|
8819
8827
|
type: z$1.ZodLiteral<"desktop.browser.import_cookies">;
|
|
8820
8828
|
}, z$1.core.$strict>], "type">;
|
|
@@ -8901,18 +8909,20 @@ declare const desktopBrowserResultSchemas: {
|
|
|
8901
8909
|
"desktop.browser.list_import_sources": z$1.ZodObject<{
|
|
8902
8910
|
sources: z$1.ZodArray<z$1.ZodObject<{
|
|
8903
8911
|
icon: z$1.ZodOptional<z$1.ZodString>;
|
|
8904
|
-
id: z$1.ZodEnum<{
|
|
8912
|
+
id: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
8905
8913
|
arc: "arc";
|
|
8906
8914
|
brave: "brave";
|
|
8907
8915
|
chrome: "chrome";
|
|
8908
8916
|
chromium: "chromium";
|
|
8917
|
+
dia: "dia";
|
|
8909
8918
|
edge: "edge";
|
|
8910
8919
|
firefox: "firefox";
|
|
8911
8920
|
helium: "helium";
|
|
8912
8921
|
opera: "opera";
|
|
8913
8922
|
safari: "safari";
|
|
8914
8923
|
vivaldi: "vivaldi";
|
|
8915
|
-
|
|
8924
|
+
zen: "zen";
|
|
8925
|
+
}>, z$1.ZodString]>;
|
|
8916
8926
|
name: z$1.ZodString;
|
|
8917
8927
|
profiles: z$1.ZodArray<z$1.ZodObject<{
|
|
8918
8928
|
cookieCount: z$1.ZodOptional<z$1.ZodNumber>;
|
|
@@ -10006,6 +10016,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10006
10016
|
"thread.previous": "thread.previous";
|
|
10007
10017
|
"thread.rename": "thread.rename";
|
|
10008
10018
|
"thread.search": "thread.search";
|
|
10019
|
+
"window.find": "window.find";
|
|
10009
10020
|
"window.new": "window.new";
|
|
10010
10021
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
10011
10022
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
@@ -10149,6 +10160,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10149
10160
|
"thread.previous": "thread.previous";
|
|
10150
10161
|
"thread.rename": "thread.rename";
|
|
10151
10162
|
"thread.search": "thread.search";
|
|
10163
|
+
"window.find": "window.find";
|
|
10152
10164
|
"window.new": "window.new";
|
|
10153
10165
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
10154
10166
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
@@ -10232,6 +10244,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10232
10244
|
"thread.previous": "thread.previous";
|
|
10233
10245
|
"thread.rename": "thread.rename";
|
|
10234
10246
|
"thread.search": "thread.search";
|
|
10247
|
+
"window.find": "window.find";
|
|
10235
10248
|
"window.new": "window.new";
|
|
10236
10249
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
10237
10250
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
@@ -14564,18 +14577,20 @@ declare const desktopBrowserImportCookiesRequestSchema: z$1.ZodObject<{
|
|
|
14564
14577
|
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
14565
14578
|
kind: z$1.ZodLiteral<"personal">;
|
|
14566
14579
|
}, z$1.core.$strip>], "kind">>;
|
|
14567
|
-
sourceId: z$1.ZodEnum<{
|
|
14580
|
+
sourceId: z$1.ZodUnion<readonly [z$1.ZodEnum<{
|
|
14568
14581
|
arc: "arc";
|
|
14569
14582
|
brave: "brave";
|
|
14570
14583
|
chrome: "chrome";
|
|
14571
14584
|
chromium: "chromium";
|
|
14585
|
+
dia: "dia";
|
|
14572
14586
|
edge: "edge";
|
|
14573
14587
|
firefox: "firefox";
|
|
14574
14588
|
helium: "helium";
|
|
14575
14589
|
opera: "opera";
|
|
14576
14590
|
safari: "safari";
|
|
14577
14591
|
vivaldi: "vivaldi";
|
|
14578
|
-
|
|
14592
|
+
zen: "zen";
|
|
14593
|
+
}>, z$1.ZodString]>;
|
|
14579
14594
|
sourceProfileDirectory: z$1.ZodString;
|
|
14580
14595
|
}, z$1.core.$strict>;
|
|
14581
14596
|
type ExperimentalDesktopBrowserHostRequest = z$1.infer<typeof desktopBrowserHostRequestSchema>;
|
|
@@ -16766,15 +16781,21 @@ type ExperimentalSidebarNavigationAction = {
|
|
|
16766
16781
|
kind: "search-threads";
|
|
16767
16782
|
} | {
|
|
16768
16783
|
kind: "open-extensions";
|
|
16784
|
+
} | {
|
|
16785
|
+
kind: "open-skills";
|
|
16769
16786
|
} | {
|
|
16770
16787
|
kind: "open-plugin-panel";
|
|
16771
16788
|
pluginId: string;
|
|
16772
16789
|
panelId: string;
|
|
16773
16790
|
};
|
|
16774
|
-
/**
|
|
16791
|
+
/**
|
|
16792
|
+
* Semantic icon identity for one sidebar navigation item. Render it with
|
|
16793
|
+
* {@link PluginSdkApp.experimental_SidebarNavigationIcon} to match bb's
|
|
16794
|
+
* artwork, including plugin branding.
|
|
16795
|
+
*/
|
|
16775
16796
|
type ExperimentalSidebarNavigationIcon = {
|
|
16776
16797
|
kind: "host";
|
|
16777
|
-
name: "extensions" | "new-thread" | "search";
|
|
16798
|
+
name: "extensions" | "new-thread" | "search" | "skills";
|
|
16778
16799
|
} | {
|
|
16779
16800
|
kind: "plugin";
|
|
16780
16801
|
pluginId: string;
|
|
@@ -16782,28 +16803,164 @@ type ExperimentalSidebarNavigationIcon = {
|
|
|
16782
16803
|
};
|
|
16783
16804
|
/** One host-owned destination or action a plugin may arrange. */
|
|
16784
16805
|
interface ExperimentalSidebarNavigationItem {
|
|
16806
|
+
/**
|
|
16807
|
+
* Arrangement key, stable across reloads: `__bb__/new-thread`,
|
|
16808
|
+
* `__bb__/search-threads`, `__bb__/extensions`, `__bb__/skills`,
|
|
16809
|
+
* `__bb__/automations`, or `<pluginId>/<panelId>`. The same keys appear in
|
|
16810
|
+
* the `sidebar.pluginPanelOrder` and `sidebar.visiblePluginPanels`
|
|
16811
|
+
* settings.
|
|
16812
|
+
*/
|
|
16785
16813
|
id: string;
|
|
16786
16814
|
label: string;
|
|
16787
16815
|
icon: ExperimentalSidebarNavigationIcon;
|
|
16788
16816
|
action: ExperimentalSidebarNavigationAction;
|
|
16789
16817
|
isDisabled: boolean;
|
|
16818
|
+
/**
|
|
16819
|
+
* False when the user hid the item from the sidebar. Draw hidden items in an
|
|
16820
|
+
* overflow menu rather than dropping them, so they stay reachable.
|
|
16821
|
+
*/
|
|
16822
|
+
isVisible: boolean;
|
|
16823
|
+
/**
|
|
16824
|
+
* A plugin panel remembered from the last session whose bundle has not
|
|
16825
|
+
* registered yet. Activating it does nothing until it loads.
|
|
16826
|
+
*/
|
|
16827
|
+
isLoading: boolean;
|
|
16828
|
+
/**
|
|
16829
|
+
* The plugin that contributed this panel; null for bb's own items. Gates
|
|
16830
|
+
* `openDetails` and `disablePlugin`.
|
|
16831
|
+
*/
|
|
16832
|
+
pluginId: string | null;
|
|
16790
16833
|
shortcut: ExperimentalSidebarNavigationShortcut | null;
|
|
16791
|
-
|
|
16792
|
-
|
|
16793
|
-
|
|
16834
|
+
/**
|
|
16835
|
+
* The panel's `experimental_sidebarAccessory`, already wrapped in the host's
|
|
16836
|
+
* crash boundary. Null for bb's items, panels without an accessory, and on
|
|
16837
|
+
* compact viewports. Keep it within one line, about 4rem by 1.25rem.
|
|
16838
|
+
*/
|
|
16839
|
+
experimental_Accessory: ComponentType | null;
|
|
16794
16840
|
}
|
|
16795
16841
|
/** How the host should activate a sidebar navigation item. */
|
|
16796
16842
|
interface ExperimentalSidebarNavigationActivationOptions {
|
|
16797
16843
|
openInSplit: boolean;
|
|
16798
16844
|
}
|
|
16799
|
-
/**
|
|
16800
|
-
|
|
16845
|
+
/**
|
|
16846
|
+
* Host behavior for sidebar navigation items (see
|
|
16847
|
+
* {@link ExperimentalSidebarNavigationState}). Unknown item ids are ignored.
|
|
16848
|
+
* Calls made after the calling component unmounts do nothing.
|
|
16849
|
+
*/
|
|
16850
|
+
interface ExperimentalSidebarNavigationActions {
|
|
16851
|
+
/**
|
|
16852
|
+
* Run the item's host behavior and close the mobile sidebar drawer.
|
|
16853
|
+
* `openInSplit` is ignored where splits are unavailable, and disabled or
|
|
16854
|
+
* loading items do nothing.
|
|
16855
|
+
*/
|
|
16856
|
+
activate(itemId: string, options: ExperimentalSidebarNavigationActivationOptions): void;
|
|
16857
|
+
/** Hide or show one item. Persists to `sidebar.visiblePluginPanels`. */
|
|
16858
|
+
setVisible(itemId: string, isVisible: boolean): void;
|
|
16859
|
+
/**
|
|
16860
|
+
* Save a new order. Pass item ids in the order you want; unknown ids are
|
|
16861
|
+
* dropped and ids you leave out keep their relative order after the ones
|
|
16862
|
+
* you pass. Persists to `sidebar.pluginPanelOrder`.
|
|
16863
|
+
*/
|
|
16864
|
+
setOrder(itemIds: readonly string[]): void;
|
|
16865
|
+
/** Open bb's customize editor, which reorders and hides items. */
|
|
16866
|
+
openCustomize(): void;
|
|
16867
|
+
/** Open the owning plugin's details. Does nothing when `pluginId` is null. */
|
|
16868
|
+
openDetails(itemId: string): void;
|
|
16869
|
+
/**
|
|
16870
|
+
* Disable the owning plugin, leave its panel if it is open, and show a
|
|
16871
|
+
* toast. Rejects after the host's error toast when disabling fails. Does
|
|
16872
|
+
* nothing when `pluginId` is null.
|
|
16873
|
+
*/
|
|
16874
|
+
disablePlugin(itemId: string): Promise<void>;
|
|
16875
|
+
}
|
|
16876
|
+
/** What {@link PluginSdkApp.experimental_useSidebarNavigation} returns. */
|
|
16877
|
+
interface ExperimentalSidebarNavigationState {
|
|
16878
|
+
/** Every item in the user's saved order, visible and hidden. */
|
|
16801
16879
|
items: readonly ExperimentalSidebarNavigationItem[];
|
|
16880
|
+
/** The item whose destination the route currently shows, or null. */
|
|
16802
16881
|
activeItemId: string | null;
|
|
16882
|
+
/**
|
|
16883
|
+
* True while the user holds the app command modifier, when bb's own rows
|
|
16884
|
+
* reveal their `shortcut` labels. Show yours at the same time.
|
|
16885
|
+
*/
|
|
16886
|
+
isShortcutModifierHeld: boolean;
|
|
16887
|
+
actions: ExperimentalSidebarNavigationActions;
|
|
16888
|
+
}
|
|
16889
|
+
/**
|
|
16890
|
+
* Per-item drag-to-split support (see
|
|
16891
|
+
* {@link PluginSdkApp.experimental_useSidebarNavigationSplit}). Same contract
|
|
16892
|
+
* as {@link PluginSidebarThreadSplit}.
|
|
16893
|
+
*/
|
|
16894
|
+
interface ExperimentalSidebarNavigationSplit {
|
|
16895
|
+
/**
|
|
16896
|
+
* Spread onto the item's interactive element. Empty when the item cannot
|
|
16897
|
+
* open in a pane, so spreading it is always safe.
|
|
16898
|
+
*/
|
|
16899
|
+
splitProps: {
|
|
16900
|
+
onPointerDown?: (event: react.PointerEvent<HTMLElement>) => void;
|
|
16901
|
+
};
|
|
16902
|
+
/**
|
|
16903
|
+
* False for items that cannot open in a pane (Search, Plugins, Skills), on
|
|
16904
|
+
* compact viewports, and when splits are unavailable.
|
|
16905
|
+
*/
|
|
16906
|
+
isAvailable: boolean;
|
|
16907
|
+
/** Where this item's destination sits in the split layout, or null. */
|
|
16908
|
+
layout: {
|
|
16909
|
+
panes: readonly PluginSidebarSplitPane[];
|
|
16910
|
+
} | null;
|
|
16911
|
+
}
|
|
16912
|
+
/** Options for {@link PluginSdkApp.experimental_useSidebarNavigationSplit}. */
|
|
16913
|
+
interface ExperimentalSidebarNavigationSplitOptions {
|
|
16914
|
+
/**
|
|
16915
|
+
* `sidebar` (the default) engages the drag once the pointer leaves the
|
|
16916
|
+
* sidebar, so a row list with its own drag-to-reorder keeps working.
|
|
16917
|
+
* `distance` engages after a short movement in any direction; use it for
|
|
16918
|
+
* rows inside a menu or popover that covers the main area.
|
|
16919
|
+
*/
|
|
16920
|
+
activation?: "distance" | "sidebar";
|
|
16921
|
+
/** Called when the drag engages, for example to close the menu the row is in. */
|
|
16922
|
+
onDragStart?: () => void;
|
|
16923
|
+
}
|
|
16924
|
+
/** Props for {@link PluginSdkApp.experimental_SidebarNavigationIcon}. */
|
|
16925
|
+
interface ExperimentalSidebarNavigationIconProps {
|
|
16926
|
+
icon: ExperimentalSidebarNavigationIcon;
|
|
16927
|
+
className?: string;
|
|
16928
|
+
}
|
|
16929
|
+
/**
|
|
16930
|
+
* Props passed to an `experimental_sidebarNavigation` component. Read the
|
|
16931
|
+
* items and their actions with
|
|
16932
|
+
* {@link PluginSdkApp.experimental_useSidebarNavigation}.
|
|
16933
|
+
*/
|
|
16934
|
+
interface ExperimentalSidebarNavigationProps {
|
|
16803
16935
|
isCompactViewport: boolean;
|
|
16804
|
-
|
|
16936
|
+
/**
|
|
16937
|
+
* Renders bb's bundled Navigation plugin, or nothing while it is disabled.
|
|
16938
|
+
* Kept for plugins written before `experimental_useSidebarNavigation`;
|
|
16939
|
+
* render items from that hook instead. Scheduled for removal.
|
|
16940
|
+
*
|
|
16941
|
+
* @deprecated
|
|
16942
|
+
*/
|
|
16805
16943
|
experimental_Original: ComponentType;
|
|
16806
16944
|
}
|
|
16945
|
+
/**
|
|
16946
|
+
* Props passed to an `experimental_sidebarHeader` component, rendered in the
|
|
16947
|
+
* sidebar's header row between the sidebar toggle (and the macOS window
|
|
16948
|
+
* controls) and bb's back and forward buttons.
|
|
16949
|
+
*/
|
|
16950
|
+
interface ExperimentalSidebarHeaderProps {
|
|
16951
|
+
/**
|
|
16952
|
+
* Width in px of the space the component may use, updated when the sidebar
|
|
16953
|
+
* resizes or the window chrome changes. It can be smaller than
|
|
16954
|
+
* `controlSize` in a narrow sidebar.
|
|
16955
|
+
*/
|
|
16956
|
+
width: number;
|
|
16957
|
+
/**
|
|
16958
|
+
* Width and height in px of the header's own buttons, equal to the
|
|
16959
|
+
* `--bb-sidebar-control-size` CSS variable. Size your controls to match.
|
|
16960
|
+
*/
|
|
16961
|
+
controlSize: number;
|
|
16962
|
+
isCompactViewport: boolean;
|
|
16963
|
+
}
|
|
16807
16964
|
/**
|
|
16808
16965
|
* Props passed to an `experimental_threadList` component — the sidebar's
|
|
16809
16966
|
* scrolling thread area, replaced wholesale by one plugin.
|
|
@@ -17771,7 +17928,7 @@ interface PluginSidebarThreadActions {
|
|
|
17771
17928
|
setRead(threadId: string, read: boolean): Promise<void>;
|
|
17772
17929
|
/** Silent rename — no dialog. For inline editing in your own row. */
|
|
17773
17930
|
rename(threadId: string, title: string): Promise<void>;
|
|
17774
|
-
/**
|
|
17931
|
+
/** Opens bb's confirmation before archiving the thread and its children. */
|
|
17775
17932
|
archive(threadId: string): void;
|
|
17776
17933
|
/**
|
|
17777
17934
|
* Opens bb's delete confirmation, which counts child threads first. Deletion
|
|
@@ -17904,7 +18061,14 @@ interface PluginThreadListRegistration {
|
|
|
17904
18061
|
description?: string;
|
|
17905
18062
|
component: ComponentType<PluginThreadListProps>;
|
|
17906
18063
|
}
|
|
17907
|
-
/**
|
|
18064
|
+
/**
|
|
18065
|
+
* Replace the navigation controls above the sidebar thread list. Exclusive:
|
|
18066
|
+
* the user picks one provider under Settings → Appearance → Navigation, and
|
|
18067
|
+
* bb ships its own rows as the bundled Navigation plugin
|
|
18068
|
+
* (`navigation/navigation`, the default). A picked provider that is disabled
|
|
18069
|
+
* or removed falls back to Navigation; a crashing provider is replaced by a
|
|
18070
|
+
* placeholder with a Reload button.
|
|
18071
|
+
*/
|
|
17908
18072
|
interface ExperimentalSidebarNavigationRegistration {
|
|
17909
18073
|
/** Unique within the plugin; letters, digits, `-`, `_`. */
|
|
17910
18074
|
id: string;
|
|
@@ -17914,6 +18078,23 @@ interface ExperimentalSidebarNavigationRegistration {
|
|
|
17914
18078
|
description?: string;
|
|
17915
18079
|
component: ComponentType<ExperimentalSidebarNavigationProps>;
|
|
17916
18080
|
}
|
|
18081
|
+
/**
|
|
18082
|
+
* Render a component in the sidebar's header row, between the sidebar toggle
|
|
18083
|
+
* and bb's back and forward buttons. Exclusive: the user picks at most one
|
|
18084
|
+
* header under Settings → Appearance, and by default the header shows only
|
|
18085
|
+
* bb's own controls. Content is clipped to the row, so it cannot move the
|
|
18086
|
+
* thread list or bb's controls. On macOS the empty space keeps dragging the
|
|
18087
|
+
* window; buttons, links, and inputs do not.
|
|
18088
|
+
*/
|
|
18089
|
+
interface ExperimentalSidebarHeaderRegistration {
|
|
18090
|
+
/** Unique within the plugin; letters, digits, `-`, `_`. */
|
|
18091
|
+
id: string;
|
|
18092
|
+
/** Label shown in Settings → Appearance and capability details. */
|
|
18093
|
+
title: string;
|
|
18094
|
+
/** Optional one-line description shown with the provider choice. */
|
|
18095
|
+
description?: string;
|
|
18096
|
+
component: ComponentType<ExperimentalSidebarHeaderProps>;
|
|
18097
|
+
}
|
|
17917
18098
|
/**
|
|
17918
18099
|
* Register this plugin as a viewer/editor for file extensions. By default,
|
|
17919
18100
|
* matching files render the first applicable opener in deterministic slot
|
|
@@ -18318,6 +18499,12 @@ interface PluginAppSlots {
|
|
|
18318
18499
|
sidebarFooterAction(registration: PluginSidebarFooterActionRegistration): void;
|
|
18319
18500
|
/** Replace the bounded sidebar navigation controls. */
|
|
18320
18501
|
experimental_sidebarNavigation(registration: ExperimentalSidebarNavigationRegistration): void;
|
|
18502
|
+
/**
|
|
18503
|
+
* Render a component in the sidebar header row (see
|
|
18504
|
+
* {@link ExperimentalSidebarHeaderRegistration}). Experimental: see
|
|
18505
|
+
* docs/api_to_audit.md.
|
|
18506
|
+
*/
|
|
18507
|
+
experimental_sidebarHeader(registration: ExperimentalSidebarHeaderRegistration): void;
|
|
18321
18508
|
/**
|
|
18322
18509
|
* Replace the sidebar's thread list (see
|
|
18323
18510
|
* {@link PluginThreadListRegistration}). Experimental: see
|
|
@@ -19324,6 +19511,15 @@ interface PluginSdkApp {
|
|
|
19324
19511
|
useRealtimeConnectionState(): PluginRealtimeConnectionState;
|
|
19325
19512
|
useSettings(): PluginSettingsState;
|
|
19326
19513
|
useBbContext(): BbContext;
|
|
19514
|
+
/**
|
|
19515
|
+
* The id of the plugin that owns the calling component: the same id
|
|
19516
|
+
* `bb.pluginId` reports on the server, derived from the package name. Key
|
|
19517
|
+
* state the plugin keeps outside bb's per-plugin storage with it, such as
|
|
19518
|
+
* localStorage entries and log prefixes, so a copy of the plugin published
|
|
19519
|
+
* under another name does not collide with the original. Experimental: see
|
|
19520
|
+
* docs/api_to_audit.md.
|
|
19521
|
+
*/
|
|
19522
|
+
experimental_usePluginId(): string;
|
|
19327
19523
|
useBbNavigate(): BbNavigate;
|
|
19328
19524
|
/** Select one of this plugin's eligible fixed tabs on the current surface. */
|
|
19329
19525
|
experimental_useAppPanel(): ExperimentalAppPanel;
|
|
@@ -19373,6 +19569,27 @@ interface PluginSdkApp {
|
|
|
19373
19569
|
* Experimental: see docs/api_to_audit.md.
|
|
19374
19570
|
*/
|
|
19375
19571
|
experimental_useSidebarThreadSplit(threadId: string): PluginSidebarThreadSplit;
|
|
19572
|
+
/**
|
|
19573
|
+
* The sidebar navigation items in the user's saved order, the active item,
|
|
19574
|
+
* and the host actions that activate, hide, reorder, and customize them
|
|
19575
|
+
* (see {@link ExperimentalSidebarNavigationState}). One model shared by
|
|
19576
|
+
* every caller in the sidebar. Items keep their identity while unchanged.
|
|
19577
|
+
* Outside the sidebar it returns no items and actions that do nothing.
|
|
19578
|
+
* Experimental: see docs/api_to_audit.md.
|
|
19579
|
+
*/
|
|
19580
|
+
experimental_useSidebarNavigation(): ExperimentalSidebarNavigationState;
|
|
19581
|
+
/**
|
|
19582
|
+
* Per-item drag-to-split support for navigation items (see
|
|
19583
|
+
* {@link ExperimentalSidebarNavigationSplit}). Call it once per rendered
|
|
19584
|
+
* item. Experimental: see docs/api_to_audit.md.
|
|
19585
|
+
*/
|
|
19586
|
+
experimental_useSidebarNavigationSplit(itemId: string, options?: ExperimentalSidebarNavigationSplitOptions): ExperimentalSidebarNavigationSplit;
|
|
19587
|
+
/**
|
|
19588
|
+
* bb's artwork for a navigation item's icon: bb's glyphs for its own items,
|
|
19589
|
+
* and the contributing plugin's branding for plugin panels. Experimental:
|
|
19590
|
+
* see docs/api_to_audit.md.
|
|
19591
|
+
*/
|
|
19592
|
+
experimental_SidebarNavigationIcon: ComponentType<ExperimentalSidebarNavigationIconProps>;
|
|
19376
19593
|
/**
|
|
19377
19594
|
* Whether the composer holds an unsent draft for one thread (see
|
|
19378
19595
|
* {@link PluginSidebarThreadDraftState}). Per row, because a draft is
|
|
@@ -21634,6 +21851,16 @@ interface BbPluginApi {
|
|
|
21634
21851
|
* The sanctioned place to clear timers and close connections.
|
|
21635
21852
|
*/
|
|
21636
21853
|
onDispose(hook: () => void | Promise<void>): void;
|
|
21854
|
+
/**
|
|
21855
|
+
* Run a handler once, right after this plugin is installed and its server
|
|
21856
|
+
* entry has loaded: for example to pick its own sidebar slots with
|
|
21857
|
+
* `bb.sdk.system.uiPreferences`. It does not run on update, reload,
|
|
21858
|
+
* enable, or server restart, nor for bb's bundled plugins; reinstalling
|
|
21859
|
+
* after removal runs it again. Register it while the entry loads. A
|
|
21860
|
+
* handler that throws is logged and the install still succeeds; the
|
|
21861
|
+
* install waits at most 30 seconds for handlers to finish.
|
|
21862
|
+
*/
|
|
21863
|
+
onInstall(handler: () => void | Promise<void>): void;
|
|
21637
21864
|
}
|
|
21638
21865
|
|
|
21639
21866
|
/** Duration suffixes, shared with the core `bb` CLI grammar. */
|
|
@@ -21869,4 +22096,4 @@ declare function cliCommand<const TOptions extends CliOptions = Record<string, n
|
|
|
21869
22096
|
declare function defineCli(spec: PluginCliSpec): PluginCliRegistration;
|
|
21870
22097
|
|
|
21871
22098
|
export { PLUGIN_CLI_OUTPUT_MAX_BYTES, PluginCliError, cliCommand, defineCli, defineRpcContract, experimental_defineHostEntry };
|
|
21872
|
-
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, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, 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 };
|
|
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 };
|