@get-bb/plugin-sdk 0.6.14 → 0.6.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/bundled-types/bb-plugin-sdk-app.d.ts +35 -1
- package/bundled-types/bb-plugin-sdk-internal-plugin-app-collector.d.ts +9 -4
- package/bundled-types/bb-plugin-sdk.d.ts +35 -1
- package/dist/internal/plugin-app-collector.js +21 -6
- package/dist/provider-bridge-testing.js +14 -10
- package/dist/replay-provider-child.mjs +72 -0
- package/dist/testing/app.js +21 -6
- package/package.json +1 -1
|
@@ -247,6 +247,7 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
|
|
|
247
247
|
"pane.focus.up": "pane.focus.up";
|
|
248
248
|
"pane.maximize.toggle": "pane.maximize.toggle";
|
|
249
249
|
"panel.close": "panel.close";
|
|
250
|
+
"panel.fullScreen.toggle": "panel.fullScreen.toggle";
|
|
250
251
|
"panel.newTab": "panel.newTab";
|
|
251
252
|
"panel.nextNewTabItem": "panel.nextNewTabItem";
|
|
252
253
|
"panel.nextTab": "panel.nextTab";
|
|
@@ -8604,6 +8605,7 @@ declare const hostDaemonCommandRegistry: {
|
|
|
8604
8605
|
darwin: "darwin";
|
|
8605
8606
|
linux: "linux";
|
|
8606
8607
|
unknown: "unknown";
|
|
8608
|
+
win32: "win32";
|
|
8607
8609
|
wsl: "wsl";
|
|
8608
8610
|
}>;
|
|
8609
8611
|
portAvailable: z$1.ZodBoolean;
|
|
@@ -9029,12 +9031,14 @@ type CreateMachineRequest = z$1.infer<typeof createMachineRequestSchema>;
|
|
|
9029
9031
|
declare const hostEnrollmentCommandResponseSchema: z$1.ZodNullable<z$1.ZodObject<{
|
|
9030
9032
|
command: z$1.ZodString;
|
|
9031
9033
|
expiresAt: z$1.ZodNumber;
|
|
9034
|
+
windowsCommand: z$1.ZodString;
|
|
9032
9035
|
}, z$1.core.$strip>>;
|
|
9033
9036
|
type HostEnrollmentCommandResponse = z$1.infer<typeof hostEnrollmentCommandResponseSchema>;
|
|
9034
9037
|
declare const hostReconnectResponseSchema: z$1.ZodObject<{
|
|
9035
9038
|
command: z$1.ZodString;
|
|
9036
9039
|
expiresAt: z$1.ZodNumber;
|
|
9037
9040
|
hostId: z$1.ZodString;
|
|
9041
|
+
windowsCommand: z$1.ZodString;
|
|
9038
9042
|
}, z$1.core.$strict>;
|
|
9039
9043
|
type HostReconnectResponse = z$1.infer<typeof hostReconnectResponseSchema>;
|
|
9040
9044
|
declare const createHostJoinCodeResponseSchema: z$1.ZodObject<{
|
|
@@ -9577,6 +9581,7 @@ declare const pluginCatalogSearchResponseSchema: z$1.ZodObject<{
|
|
|
9577
9581
|
iconUrl: z$1.ZodNullable<z$1.ZodString>;
|
|
9578
9582
|
incompatibleReason: z$1.ZodNullable<z$1.ZodString>;
|
|
9579
9583
|
installed: z$1.ZodBoolean;
|
|
9584
|
+
installedByDefault: z$1.ZodDefault<z$1.ZodBoolean>;
|
|
9580
9585
|
installs: z$1.ZodDefault<z$1.ZodNullable<z$1.ZodNumber>>;
|
|
9581
9586
|
marketplace: z$1.ZodString;
|
|
9582
9587
|
marketplaceDisplayName: z$1.ZodString;
|
|
@@ -10097,6 +10102,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10097
10102
|
"pane.focus.up": "pane.focus.up";
|
|
10098
10103
|
"pane.maximize.toggle": "pane.maximize.toggle";
|
|
10099
10104
|
"panel.close": "panel.close";
|
|
10105
|
+
"panel.fullScreen.toggle": "panel.fullScreen.toggle";
|
|
10100
10106
|
"panel.newTab": "panel.newTab";
|
|
10101
10107
|
"panel.nextNewTabItem": "panel.nextNewTabItem";
|
|
10102
10108
|
"panel.nextTab": "panel.nextTab";
|
|
@@ -10246,6 +10252,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10246
10252
|
"pane.focus.up": "pane.focus.up";
|
|
10247
10253
|
"pane.maximize.toggle": "pane.maximize.toggle";
|
|
10248
10254
|
"panel.close": "panel.close";
|
|
10255
|
+
"panel.fullScreen.toggle": "panel.fullScreen.toggle";
|
|
10249
10256
|
"panel.newTab": "panel.newTab";
|
|
10250
10257
|
"panel.nextNewTabItem": "panel.nextNewTabItem";
|
|
10251
10258
|
"panel.nextTab": "panel.nextTab";
|
|
@@ -10338,6 +10345,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10338
10345
|
"pane.focus.up": "pane.focus.up";
|
|
10339
10346
|
"pane.maximize.toggle": "pane.maximize.toggle";
|
|
10340
10347
|
"panel.close": "panel.close";
|
|
10348
|
+
"panel.fullScreen.toggle": "panel.fullScreen.toggle";
|
|
10341
10349
|
"panel.newTab": "panel.newTab";
|
|
10342
10350
|
"panel.nextNewTabItem": "panel.nextNewTabItem";
|
|
10343
10351
|
"panel.nextTab": "panel.nextTab";
|
|
@@ -10433,6 +10441,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10433
10441
|
darwin: "darwin";
|
|
10434
10442
|
linux: "linux";
|
|
10435
10443
|
unknown: "unknown";
|
|
10444
|
+
win32: "win32";
|
|
10436
10445
|
wsl: "wsl";
|
|
10437
10446
|
}>>;
|
|
10438
10447
|
serverAccess: z$1.ZodObject<{
|
|
@@ -18649,6 +18658,29 @@ interface PluginCommandRegistration {
|
|
|
18649
18658
|
*/
|
|
18650
18659
|
run(context: PluginCommandContext): void | Promise<void>;
|
|
18651
18660
|
}
|
|
18661
|
+
/**
|
|
18662
|
+
* A command handled by a composer through the same path as bb's own "Focus
|
|
18663
|
+
* composer" command. Listed, rebindable and namespaced like any other plugin
|
|
18664
|
+
* command. The composer holding the caret runs it; with the caret outside every
|
|
18665
|
+
* composer, the focused pane's primary composer does. Like bb's composer
|
|
18666
|
+
* commands, its shortcut is inactive while a terminal, browser tab or modal has
|
|
18667
|
+
* focus, and the palette lists it only when some composer would run it.
|
|
18668
|
+
*/
|
|
18669
|
+
interface ExperimentalComposerCommandRegistration {
|
|
18670
|
+
/** Initial keyboard binding. Users can rebind every command, including ones without a default. Conflicting defaults remain unbound. */
|
|
18671
|
+
defaultShortcut?: PluginCommandShortcut;
|
|
18672
|
+
/** Unique within the plugin across every command; letters, digits, `-`, `_`. */
|
|
18673
|
+
id: string;
|
|
18674
|
+
/** The palette row's and keyboard settings' label. */
|
|
18675
|
+
title: string;
|
|
18676
|
+
/**
|
|
18677
|
+
* Runs with the handling composer, bound to this plugin like `useComposer()`.
|
|
18678
|
+
* Errors (sync or async) are contained and logged.
|
|
18679
|
+
*/
|
|
18680
|
+
run(context: {
|
|
18681
|
+
composer: PluginComposerApi;
|
|
18682
|
+
}): void | Promise<void>;
|
|
18683
|
+
}
|
|
18652
18684
|
/** Registers commands for bb's command palette. */
|
|
18653
18685
|
interface PluginAppCommands {
|
|
18654
18686
|
/** Register a command. IDs are unique within this plugin, including legacy slot registrations. */
|
|
@@ -18941,6 +18973,8 @@ interface PluginAppSlots {
|
|
|
18941
18973
|
}
|
|
18942
18974
|
interface PluginAppComposer {
|
|
18943
18975
|
customize(registration: ComposerCustomization): void;
|
|
18976
|
+
/** Register a command that the composer holding the caret runs. IDs share the `app.commands` namespace. */
|
|
18977
|
+
experimental_registerCommand(registration: ExperimentalComposerCommandRegistration): void;
|
|
18944
18978
|
}
|
|
18945
18979
|
/** Stable lifecycle values for one content-script instance in one bb client. */
|
|
18946
18980
|
interface PluginContentScriptContext {
|
|
@@ -20293,4 +20327,4 @@ declare const experimental_useProviders: () => PluginProvidersState;
|
|
|
20293
20327
|
declare const experimental_useCodeTheme: () => PluginCodeThemeState;
|
|
20294
20328
|
|
|
20295
20329
|
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_useQuestionFormHost, experimental_useSidebarNavigation, experimental_useSidebarNavigationSplit, experimental_useSidebarThreadActions, experimental_useSidebarThreadPullRequest, experimental_useSidebarThreadSplit, experimental_useSidebarThreads, useBbContext, useBbNavigate, useComposer, useComposers, useEnvironmentProviders, useRealtime, useRealtimeConnectionState, useRpc, useSdk, useSettings, useSidebarSplitLayout, useSidebarThreadDraft, useSidebarThreadDraftIds, useSidebarThreadRowStatus, useSidebarThreadRowStatuses, useSidebarThreadShortcut };
|
|
20296
|
-
export type { BbContext, BbNavigate, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerAttachment, ComposerCustomization, ComposerDraft, ComposerDraftReplacement, ComposerDraftSnapshot, ComposerInsertOptions, ComposerInsertPart, ComposerMention, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerSelection, ComposerSendMenuItem, ComposerSubmitOptions, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerPopupRegistration, ExperimentalDiffFileContent, ExperimentalDiffFullFileContents, ExperimentalFileLinkProps, ExperimentalFileLocation, ExperimentalFileOpenOptions, ExperimentalFixedTabTargetContract, ExperimentalFixedTabTargetState, ExperimentalIconProps, ExperimentalIconRegistration, ExperimentalLiveFileTarget, ExperimentalOpenFixedTabOptions, ExperimentalPermissionModePickerProps, ExperimentalPluginBrowserPage, ExperimentalPluginBrowserPageEvaluateOptions, ExperimentalPluginBrowserPageWorld, ExperimentalPluginBrowserToolbarActionProps, ExperimentalPluginBrowserToolbarActionRegistration, ExperimentalPluginFixedTabReference, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalQuestionFormHost, ExperimentalQuestionShortcut, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarHeaderProps, ExperimentalSidebarHeaderRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActions, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationIconProps, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, ExperimentalSidebarNavigationSplit, ExperimentalSidebarNavigationSplitOptions, ExperimentalSidebarNavigationState, JsonValue$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 };
|
|
20330
|
+
export type { BbContext, BbNavigate, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerAttachment, ComposerCustomization, ComposerDraft, ComposerDraftReplacement, ComposerDraftSnapshot, ComposerInsertOptions, ComposerInsertPart, ComposerMention, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerSelection, ComposerSendMenuItem, ComposerSubmitOptions, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerCommandRegistration, ExperimentalComposerPopupRegistration, ExperimentalDiffFileContent, ExperimentalDiffFullFileContents, ExperimentalFileLinkProps, ExperimentalFileLocation, ExperimentalFileOpenOptions, ExperimentalFixedTabTargetContract, ExperimentalFixedTabTargetState, ExperimentalIconProps, ExperimentalIconRegistration, ExperimentalLiveFileTarget, ExperimentalOpenFixedTabOptions, ExperimentalPermissionModePickerProps, ExperimentalPluginBrowserPage, ExperimentalPluginBrowserPageEvaluateOptions, ExperimentalPluginBrowserPageWorld, ExperimentalPluginBrowserToolbarActionProps, ExperimentalPluginBrowserToolbarActionRegistration, ExperimentalPluginFixedTabReference, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalQuestionFormHost, ExperimentalQuestionShortcut, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarHeaderProps, ExperimentalSidebarHeaderRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActions, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationIconProps, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, ExperimentalSidebarNavigationSplit, ExperimentalSidebarNavigationSplitOptions, ExperimentalSidebarNavigationState, JsonValue$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, ExperimentalSidebarHeaderRegistration, 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, ExperimentalComposerCommandRegistration, 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 {
|
|
@@ -49,9 +49,14 @@ declare const commandShortcutSchema: z.ZodObject<{
|
|
|
49
49
|
mod: z.ZodDefault<z.ZodBoolean>;
|
|
50
50
|
shift: z.ZodDefault<z.ZodBoolean>;
|
|
51
51
|
}, z.core.$strict>;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
type CollectedCommandShortcut = z.infer<typeof commandShortcutSchema> | null;
|
|
53
|
+
type CollectedPluginCommandRegistration = (Omit<PluginCommandRegistration, "defaultShortcut"> & {
|
|
54
|
+
target: "app";
|
|
55
|
+
defaultShortcut: CollectedCommandShortcut;
|
|
56
|
+
}) | (Omit<ExperimentalComposerCommandRegistration, "defaultShortcut"> & {
|
|
57
|
+
target: "composer";
|
|
58
|
+
defaultShortcut: CollectedCommandShortcut;
|
|
59
|
+
});
|
|
55
60
|
interface CollectedPluginAppRegistrations {
|
|
56
61
|
homepageSections: PluginHomepageSectionRegistration[];
|
|
57
62
|
settingsSections: PluginSettingsSectionRegistration[];
|
|
@@ -196,6 +196,7 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
|
|
|
196
196
|
"pane.focus.up": "pane.focus.up";
|
|
197
197
|
"pane.maximize.toggle": "pane.maximize.toggle";
|
|
198
198
|
"panel.close": "panel.close";
|
|
199
|
+
"panel.fullScreen.toggle": "panel.fullScreen.toggle";
|
|
199
200
|
"panel.newTab": "panel.newTab";
|
|
200
201
|
"panel.nextNewTabItem": "panel.nextNewTabItem";
|
|
201
202
|
"panel.nextTab": "panel.nextTab";
|
|
@@ -8655,6 +8656,7 @@ declare const hostDaemonCommandRegistry: {
|
|
|
8655
8656
|
darwin: "darwin";
|
|
8656
8657
|
linux: "linux";
|
|
8657
8658
|
unknown: "unknown";
|
|
8659
|
+
win32: "win32";
|
|
8658
8660
|
wsl: "wsl";
|
|
8659
8661
|
}>;
|
|
8660
8662
|
portAvailable: z$1.ZodBoolean;
|
|
@@ -9080,12 +9082,14 @@ type CreateMachineRequest = z$1.infer<typeof createMachineRequestSchema>;
|
|
|
9080
9082
|
declare const hostEnrollmentCommandResponseSchema: z$1.ZodNullable<z$1.ZodObject<{
|
|
9081
9083
|
command: z$1.ZodString;
|
|
9082
9084
|
expiresAt: z$1.ZodNumber;
|
|
9085
|
+
windowsCommand: z$1.ZodString;
|
|
9083
9086
|
}, z$1.core.$strip>>;
|
|
9084
9087
|
type HostEnrollmentCommandResponse = z$1.infer<typeof hostEnrollmentCommandResponseSchema>;
|
|
9085
9088
|
declare const hostReconnectResponseSchema: z$1.ZodObject<{
|
|
9086
9089
|
command: z$1.ZodString;
|
|
9087
9090
|
expiresAt: z$1.ZodNumber;
|
|
9088
9091
|
hostId: z$1.ZodString;
|
|
9092
|
+
windowsCommand: z$1.ZodString;
|
|
9089
9093
|
}, z$1.core.$strict>;
|
|
9090
9094
|
type HostReconnectResponse = z$1.infer<typeof hostReconnectResponseSchema>;
|
|
9091
9095
|
declare const createHostJoinCodeResponseSchema: z$1.ZodObject<{
|
|
@@ -9628,6 +9632,7 @@ declare const pluginCatalogSearchResponseSchema: z$1.ZodObject<{
|
|
|
9628
9632
|
iconUrl: z$1.ZodNullable<z$1.ZodString>;
|
|
9629
9633
|
incompatibleReason: z$1.ZodNullable<z$1.ZodString>;
|
|
9630
9634
|
installed: z$1.ZodBoolean;
|
|
9635
|
+
installedByDefault: z$1.ZodDefault<z$1.ZodBoolean>;
|
|
9631
9636
|
installs: z$1.ZodDefault<z$1.ZodNullable<z$1.ZodNumber>>;
|
|
9632
9637
|
marketplace: z$1.ZodString;
|
|
9633
9638
|
marketplaceDisplayName: z$1.ZodString;
|
|
@@ -10148,6 +10153,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10148
10153
|
"pane.focus.up": "pane.focus.up";
|
|
10149
10154
|
"pane.maximize.toggle": "pane.maximize.toggle";
|
|
10150
10155
|
"panel.close": "panel.close";
|
|
10156
|
+
"panel.fullScreen.toggle": "panel.fullScreen.toggle";
|
|
10151
10157
|
"panel.newTab": "panel.newTab";
|
|
10152
10158
|
"panel.nextNewTabItem": "panel.nextNewTabItem";
|
|
10153
10159
|
"panel.nextTab": "panel.nextTab";
|
|
@@ -10297,6 +10303,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10297
10303
|
"pane.focus.up": "pane.focus.up";
|
|
10298
10304
|
"pane.maximize.toggle": "pane.maximize.toggle";
|
|
10299
10305
|
"panel.close": "panel.close";
|
|
10306
|
+
"panel.fullScreen.toggle": "panel.fullScreen.toggle";
|
|
10300
10307
|
"panel.newTab": "panel.newTab";
|
|
10301
10308
|
"panel.nextNewTabItem": "panel.nextNewTabItem";
|
|
10302
10309
|
"panel.nextTab": "panel.nextTab";
|
|
@@ -10389,6 +10396,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10389
10396
|
"pane.focus.up": "pane.focus.up";
|
|
10390
10397
|
"pane.maximize.toggle": "pane.maximize.toggle";
|
|
10391
10398
|
"panel.close": "panel.close";
|
|
10399
|
+
"panel.fullScreen.toggle": "panel.fullScreen.toggle";
|
|
10392
10400
|
"panel.newTab": "panel.newTab";
|
|
10393
10401
|
"panel.nextNewTabItem": "panel.nextNewTabItem";
|
|
10394
10402
|
"panel.nextTab": "panel.nextTab";
|
|
@@ -10484,6 +10492,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10484
10492
|
darwin: "darwin";
|
|
10485
10493
|
linux: "linux";
|
|
10486
10494
|
unknown: "unknown";
|
|
10495
|
+
win32: "win32";
|
|
10487
10496
|
wsl: "wsl";
|
|
10488
10497
|
}>>;
|
|
10489
10498
|
serverAccess: z$1.ZodObject<{
|
|
@@ -18825,6 +18834,29 @@ interface PluginCommandRegistration {
|
|
|
18825
18834
|
*/
|
|
18826
18835
|
run(context: PluginCommandContext): void | Promise<void>;
|
|
18827
18836
|
}
|
|
18837
|
+
/**
|
|
18838
|
+
* A command handled by a composer through the same path as bb's own "Focus
|
|
18839
|
+
* composer" command. Listed, rebindable and namespaced like any other plugin
|
|
18840
|
+
* command. The composer holding the caret runs it; with the caret outside every
|
|
18841
|
+
* composer, the focused pane's primary composer does. Like bb's composer
|
|
18842
|
+
* commands, its shortcut is inactive while a terminal, browser tab or modal has
|
|
18843
|
+
* focus, and the palette lists it only when some composer would run it.
|
|
18844
|
+
*/
|
|
18845
|
+
interface ExperimentalComposerCommandRegistration {
|
|
18846
|
+
/** Initial keyboard binding. Users can rebind every command, including ones without a default. Conflicting defaults remain unbound. */
|
|
18847
|
+
defaultShortcut?: PluginCommandShortcut;
|
|
18848
|
+
/** Unique within the plugin across every command; letters, digits, `-`, `_`. */
|
|
18849
|
+
id: string;
|
|
18850
|
+
/** The palette row's and keyboard settings' label. */
|
|
18851
|
+
title: string;
|
|
18852
|
+
/**
|
|
18853
|
+
* Runs with the handling composer, bound to this plugin like `useComposer()`.
|
|
18854
|
+
* Errors (sync or async) are contained and logged.
|
|
18855
|
+
*/
|
|
18856
|
+
run(context: {
|
|
18857
|
+
composer: PluginComposerApi;
|
|
18858
|
+
}): void | Promise<void>;
|
|
18859
|
+
}
|
|
18828
18860
|
/** Registers commands for bb's command palette. */
|
|
18829
18861
|
interface PluginAppCommands {
|
|
18830
18862
|
/** Register a command. IDs are unique within this plugin, including legacy slot registrations. */
|
|
@@ -19117,6 +19149,8 @@ interface PluginAppSlots {
|
|
|
19117
19149
|
}
|
|
19118
19150
|
interface PluginAppComposer {
|
|
19119
19151
|
customize(registration: ComposerCustomization): void;
|
|
19152
|
+
/** Register a command that the composer holding the caret runs. IDs share the `app.commands` namespace. */
|
|
19153
|
+
experimental_registerCommand(registration: ExperimentalComposerCommandRegistration): void;
|
|
19120
19154
|
}
|
|
19121
19155
|
/** Stable lifecycle values for one content-script instance in one bb client. */
|
|
19122
19156
|
interface PluginContentScriptContext {
|
|
@@ -22834,4 +22868,4 @@ declare function cliCommand<const TOptions extends CliOptions = Record<string, n
|
|
|
22834
22868
|
declare function defineCli(spec: PluginCliSpec): PluginCliRegistration;
|
|
22835
22869
|
|
|
22836
22870
|
export { PLUGIN_CLI_OUTPUT_MAX_BYTES, PluginCliError, cliCommand, defineCli, defineRpcContract, experimental_defineHostEntry };
|
|
22837
|
-
export type { BbContext, BbNavigate, BbPluginApi, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerAttachment, ComposerCustomization, ComposerDraft, ComposerDraftReplacement, ComposerDraftSnapshot, ComposerInsertOptions, ComposerInsertPart, ComposerMention, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerSelection, ComposerSendMenuItem, ComposerSubmitOptions, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerPopupRegistration, 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, ExperimentalPluginRpcCaller, ExperimentalPluginRpcHandlerContext, ExperimentalPluginRpcHandlersWithContext, ExperimentalPluginWebSocket, ExperimentalPluginWebSocketContext, ExperimentalPluginWebSocketHandler, ExperimentalPluginWebSocketHandlers, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalQuestionFormHost, ExperimentalQuestionShortcut, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarHeaderProps, ExperimentalSidebarHeaderRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActions, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationIconProps, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, ExperimentalSidebarNavigationSplit, ExperimentalSidebarNavigationSplitOptions, ExperimentalSidebarNavigationState, JsonValue, MachineBootstrapApi, MachineBootstrapRequest, MachineExecutor, MachineExecutorRequest, MarkdownProps, MessageDispatchHookContext, MessageDispatchHookDecision, NewThreadComposerProps, NewThreadRequest, PluginAgentConfiguration, PluginAgentConfigurationContext, PluginAgentToolContentPart, PluginAgentToolContext, PluginAgentToolRegistrationBase, PluginAgentToolResult, PluginAgentToolSelection, PluginAgents, PluginAiCompleteOptions, PluginAiServiceDeclaration, PluginAiServiceStatus, PluginAiServices, PluginAiTranscribeOptions, PluginAppBuilder, PluginAppCommands, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginBackground, PluginBbSdk, PluginBoundThreadsArea, PluginBrowserBbSdk, PluginCli, PluginCliBooleanOption, PluginCliCommand, PluginCliCommandInfo, PluginCliConstraint, PluginCliContext, PluginCliDurationOption, PluginCliDurationUnit, PluginCliEnumOption, PluginCliErrorCode, PluginCliExecutionResult, PluginCliIntegerOption, PluginCliOption, PluginCliOptionValues, PluginCliOutputLimitError, PluginCliPositional, PluginCliPositionalValues, PluginCliRegistration, PluginCliResult, PluginCliRunInput, PluginCliSpec, PluginCliStringOption, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandContext, PluginCommandRegistration, PluginCommandShortcut, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginDispatchAttemptKind, PluginDispatchEnvironmentIntent, PluginDispatchExecution, PluginDispatchExecutionSources, PluginDispatchInput, PluginEnvironmentProvider, PluginEnvironmentProviderDeclaration, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, PluginEnvironmentProviderRequirements, PluginEnvironmentProvidersState, PluginEnvironmentValidateDecision, PluginEnvironments, PluginEvents, PluginFileOpenerProps, PluginFileOpenerRegistration, PluginFileOpenerSource, PluginFixedTabDeclaration, PluginFixedTabRegistration, PluginHomepageSectionProps, PluginHomepageSectionRegistration, PluginHookHandler, PluginHookName, PluginHookSignatures, PluginHooks, PluginHosts, PluginHttp, PluginHttpAuthMode, PluginHttpHandler, PluginInteractionCancelReason, PluginInteractionDescription, PluginInteractionRequest, PluginInteractionResult, PluginKvStorage, PluginLogger, PluginMachineProviderDeclaration, PluginMachineProviderInputsChange, PluginMachineProviderInputsProps, PluginMachineProviderInputsRegistration, PluginMachineValidateDecision, PluginMachines, PluginMentionItem, PluginMentionProviderRegistration, PluginMentionSearchContext, PluginMentionTrigger, PluginMessageActionContext, PluginMessageActionRegistration, PluginMessageDirectiveMessage, PluginMessageDirectiveOpenWorkspaceFile, PluginMessageDirectiveProps, PluginMessageDirectiveRegistration, PluginNavPanelProps, PluginNavPanelRegistration, PluginNewThreadPanelActionContext, PluginNewThreadPanelActionRegistration, PluginNewThreadPanelProps, PluginPanelActionOpenOptions, PluginPendingInteractionProps, PluginPendingInteractionRegistration, PluginPendingInteractionView, PluginProviderCapabilities, PluginProviderCompletedTurnDisplay, PluginProviderComposerAction, PluginProviderDeclaration, PluginProviderExtensionKindDeclaration, PluginProviderFallbackModel, PluginProviderIconRegistration, PluginProviderMaintenance, PluginProviderModelCatalogScope, PluginProviderNativeRootEntry, PluginProviderNativeRoots, PluginProviderOptionDescriptor, PluginProviderOptionsContext, PluginProviderPermissionMode, PluginProviderReasoningLevel, PluginProviderStrings, PluginProviders, PluginProvidersState, PluginRealtime, PluginRealtimeConnectionState, PluginRowLabels, PluginRowPresentation, PluginRpc, PluginRpcCallArgs, PluginRpcClient, PluginRpcContract, PluginRpcError, PluginRpcErrorCode, PluginRpcHandlers, PluginRpcIssuePathSegment, PluginRpcMethodContract, PluginRpcResult, PluginRpcValidationIssue, PluginSdkApp, PluginServerAccess, PluginServerApi, PluginSettingDescriptor, PluginSettingDescriptors, PluginSettingValue, PluginSettings, PluginSettingsHandle, PluginSettingsSectionProps, PluginSettingsSectionRegistration, PluginSettingsState, PluginSettingsValues, PluginSharedPortTunnelIdentity, PluginSidebarFooterActionContext, PluginSidebarFooterActionProps, PluginSidebarFooterActionRegistration, PluginSidebarProject, PluginSidebarPullRequest, PluginSidebarSection, PluginSidebarSplitLayout, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadDraftState, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadRowStatus, PluginSidebarThreadShortcut, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginStatusApi, PluginStorage, PluginTargetedPanelActionOpenOptions, PluginThreadEventHandler, PluginThreadEventName, PluginThreadEventPayloads, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginThreadTitleProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, PluginTurnFailedEvent, PluginUi, ReadonlyJsonValue, ServerAccessGrant, ServerAccessProviderDeclaration, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };
|
|
22871
|
+
export type { BbContext, BbNavigate, BbPluginApi, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerAttachment, ComposerCustomization, ComposerDraft, ComposerDraftReplacement, ComposerDraftSnapshot, ComposerInsertOptions, ComposerInsertPart, ComposerMention, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerSelection, ComposerSendMenuItem, ComposerSubmitOptions, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerCommandRegistration, ExperimentalComposerPopupRegistration, 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, ExperimentalPluginRpcCaller, ExperimentalPluginRpcHandlerContext, ExperimentalPluginRpcHandlersWithContext, ExperimentalPluginWebSocket, ExperimentalPluginWebSocketContext, ExperimentalPluginWebSocketHandler, ExperimentalPluginWebSocketHandlers, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalQuestionFormHost, ExperimentalQuestionShortcut, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarHeaderProps, ExperimentalSidebarHeaderRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActions, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationIconProps, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, ExperimentalSidebarNavigationSplit, ExperimentalSidebarNavigationSplitOptions, ExperimentalSidebarNavigationState, JsonValue, MachineBootstrapApi, MachineBootstrapRequest, MachineExecutor, MachineExecutorRequest, MarkdownProps, MessageDispatchHookContext, MessageDispatchHookDecision, NewThreadComposerProps, NewThreadRequest, PluginAgentConfiguration, PluginAgentConfigurationContext, PluginAgentToolContentPart, PluginAgentToolContext, PluginAgentToolRegistrationBase, PluginAgentToolResult, PluginAgentToolSelection, PluginAgents, PluginAiCompleteOptions, PluginAiServiceDeclaration, PluginAiServiceStatus, PluginAiServices, PluginAiTranscribeOptions, PluginAppBuilder, PluginAppCommands, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginBackground, PluginBbSdk, PluginBoundThreadsArea, PluginBrowserBbSdk, PluginCli, PluginCliBooleanOption, PluginCliCommand, PluginCliCommandInfo, PluginCliConstraint, PluginCliContext, PluginCliDurationOption, PluginCliDurationUnit, PluginCliEnumOption, PluginCliErrorCode, PluginCliExecutionResult, PluginCliIntegerOption, PluginCliOption, PluginCliOptionValues, PluginCliOutputLimitError, PluginCliPositional, PluginCliPositionalValues, PluginCliRegistration, PluginCliResult, PluginCliRunInput, PluginCliSpec, PluginCliStringOption, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandContext, PluginCommandRegistration, PluginCommandShortcut, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginDispatchAttemptKind, PluginDispatchEnvironmentIntent, PluginDispatchExecution, PluginDispatchExecutionSources, PluginDispatchInput, PluginEnvironmentProvider, PluginEnvironmentProviderDeclaration, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, PluginEnvironmentProviderRequirements, PluginEnvironmentProvidersState, PluginEnvironmentValidateDecision, PluginEnvironments, PluginEvents, PluginFileOpenerProps, PluginFileOpenerRegistration, PluginFileOpenerSource, PluginFixedTabDeclaration, PluginFixedTabRegistration, PluginHomepageSectionProps, PluginHomepageSectionRegistration, PluginHookHandler, PluginHookName, PluginHookSignatures, PluginHooks, PluginHosts, PluginHttp, PluginHttpAuthMode, PluginHttpHandler, PluginInteractionCancelReason, PluginInteractionDescription, PluginInteractionRequest, PluginInteractionResult, PluginKvStorage, PluginLogger, PluginMachineProviderDeclaration, PluginMachineProviderInputsChange, PluginMachineProviderInputsProps, PluginMachineProviderInputsRegistration, PluginMachineValidateDecision, PluginMachines, PluginMentionItem, PluginMentionProviderRegistration, PluginMentionSearchContext, PluginMentionTrigger, PluginMessageActionContext, PluginMessageActionRegistration, PluginMessageDirectiveMessage, PluginMessageDirectiveOpenWorkspaceFile, PluginMessageDirectiveProps, PluginMessageDirectiveRegistration, PluginNavPanelProps, PluginNavPanelRegistration, PluginNewThreadPanelActionContext, PluginNewThreadPanelActionRegistration, PluginNewThreadPanelProps, PluginPanelActionOpenOptions, PluginPendingInteractionProps, PluginPendingInteractionRegistration, PluginPendingInteractionView, PluginProviderCapabilities, PluginProviderCompletedTurnDisplay, PluginProviderComposerAction, PluginProviderDeclaration, PluginProviderExtensionKindDeclaration, PluginProviderFallbackModel, PluginProviderIconRegistration, PluginProviderMaintenance, PluginProviderModelCatalogScope, PluginProviderNativeRootEntry, PluginProviderNativeRoots, PluginProviderOptionDescriptor, PluginProviderOptionsContext, PluginProviderPermissionMode, PluginProviderReasoningLevel, PluginProviderStrings, PluginProviders, PluginProvidersState, PluginRealtime, PluginRealtimeConnectionState, PluginRowLabels, PluginRowPresentation, PluginRpc, PluginRpcCallArgs, PluginRpcClient, PluginRpcContract, PluginRpcError, PluginRpcErrorCode, PluginRpcHandlers, PluginRpcIssuePathSegment, PluginRpcMethodContract, PluginRpcResult, PluginRpcValidationIssue, PluginSdkApp, PluginServerAccess, PluginServerApi, PluginSettingDescriptor, PluginSettingDescriptors, PluginSettingValue, PluginSettings, PluginSettingsHandle, PluginSettingsSectionProps, PluginSettingsSectionRegistration, PluginSettingsState, PluginSettingsValues, PluginSharedPortTunnelIdentity, PluginSidebarFooterActionContext, PluginSidebarFooterActionProps, PluginSidebarFooterActionRegistration, PluginSidebarProject, PluginSidebarPullRequest, PluginSidebarSection, PluginSidebarSplitLayout, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadDraftState, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadRowStatus, PluginSidebarThreadShortcut, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginStatusApi, PluginStorage, PluginTargetedPanelActionOpenOptions, PluginThreadEventHandler, PluginThreadEventName, PluginThreadEventPayloads, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginThreadTitleProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, PluginTurnFailedEvent, PluginUi, ReadonlyJsonValue, ServerAccessGrant, ServerAccessProviderDeclaration, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };
|
|
@@ -516,24 +516,38 @@ function collectPluginAppRegistrations(definition, onComposerCustomizationReject
|
|
|
516
516
|
machineProviderInputs: /* @__PURE__ */ new Set(),
|
|
517
517
|
contentScript: /* @__PURE__ */ new Set()
|
|
518
518
|
};
|
|
519
|
-
function
|
|
520
|
-
const kind = "commands.register";
|
|
519
|
+
function collectCommand(kind, registration) {
|
|
521
520
|
const id = requireSlotId(kind, registration?.id);
|
|
522
521
|
requireUniqueId(kind, seenIds.command, id);
|
|
523
522
|
if (typeof registration.run !== "function") {
|
|
524
523
|
throw new Error(`${kind}: "run" must be a function`);
|
|
525
524
|
}
|
|
525
|
+
return {
|
|
526
|
+
id,
|
|
527
|
+
defaultShortcut: registration.defaultShortcut === void 0 ? null : commandShortcutSchema.parse(registration.defaultShortcut),
|
|
528
|
+
title: requireNonEmptyString(kind, "title", registration.title)
|
|
529
|
+
};
|
|
530
|
+
}
|
|
531
|
+
function registerCommand(registration) {
|
|
532
|
+
const kind = "commands.register";
|
|
533
|
+
const command = collectCommand(kind, registration);
|
|
526
534
|
if (registration.isAvailable !== void 0 && typeof registration.isAvailable !== "function") {
|
|
527
535
|
throw new Error(`${kind}: "isAvailable" must be a function`);
|
|
528
536
|
}
|
|
529
537
|
collected.commandPaletteActions.push({
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
title: requireNonEmptyString(kind, "title", registration.title),
|
|
538
|
+
target: "app",
|
|
539
|
+
...command,
|
|
533
540
|
...registration.isAvailable !== void 0 ? { isAvailable: registration.isAvailable } : {},
|
|
534
541
|
run: registration.run
|
|
535
542
|
});
|
|
536
543
|
}
|
|
544
|
+
function registerComposerCommand(registration) {
|
|
545
|
+
collected.commandPaletteActions.push({
|
|
546
|
+
target: "composer",
|
|
547
|
+
...collectCommand("composer.experimental_registerCommand", registration),
|
|
548
|
+
run: registration.run
|
|
549
|
+
});
|
|
550
|
+
}
|
|
537
551
|
definition.setup({
|
|
538
552
|
commands: { register: registerCommand },
|
|
539
553
|
slots: {
|
|
@@ -897,7 +911,8 @@ function collectPluginAppRegistrations(definition, onComposerCustomizationReject
|
|
|
897
911
|
if (customization !== null) {
|
|
898
912
|
collected.composerCustomizations.push(customization);
|
|
899
913
|
}
|
|
900
|
-
}
|
|
914
|
+
},
|
|
915
|
+
experimental_registerCommand: registerComposerCommand
|
|
901
916
|
},
|
|
902
917
|
experimental_icons: {
|
|
903
918
|
register(registration) {
|
|
@@ -6216,13 +6216,8 @@ function describeCalibrationEvents(events) {
|
|
|
6216
6216
|
|
|
6217
6217
|
// ../provider-bridge-protocol/src/testing/parity.ts
|
|
6218
6218
|
import { spawn } from "node:child_process";
|
|
6219
|
-
import {
|
|
6220
|
-
|
|
6221
|
-
mkdtempSync,
|
|
6222
|
-
realpathSync,
|
|
6223
|
-
rmSync,
|
|
6224
|
-
writeFileSync
|
|
6225
|
-
} from "node:fs";
|
|
6219
|
+
import { existsSync as existsSync2, mkdtempSync, realpathSync, writeFileSync } from "node:fs";
|
|
6220
|
+
import { rm } from "node:fs/promises";
|
|
6226
6221
|
import { tmpdir } from "node:os";
|
|
6227
6222
|
import { isAbsolute, join as join2, resolve as resolve2 } from "node:path";
|
|
6228
6223
|
import { fileURLToPath as fileURLToPath2, pathToFileURL } from "node:url";
|
|
@@ -6397,6 +6392,8 @@ function listRecordedCells(root) {
|
|
|
6397
6392
|
}
|
|
6398
6393
|
|
|
6399
6394
|
// ../provider-bridge-protocol/src/testing/parity.ts
|
|
6395
|
+
var REPLAY_CLEANUP_RETRIES = 20;
|
|
6396
|
+
var REPLAY_CLEANUP_RETRY_DELAY_MS = 100;
|
|
6400
6397
|
var SOURCE_BOOTSTRAP = fileURLToPath2(
|
|
6401
6398
|
new URL("../bridge-worker-entry.ts", import.meta.url)
|
|
6402
6399
|
);
|
|
@@ -6591,7 +6588,8 @@ async function replayRecording(options) {
|
|
|
6591
6588
|
stdio: ["pipe", "pipe", "pipe"]
|
|
6592
6589
|
});
|
|
6593
6590
|
const recordedCwd = recordedWorkspaceDir(recording);
|
|
6594
|
-
const
|
|
6591
|
+
const jsonText = (value) => JSON.stringify(value).slice(1, -1);
|
|
6592
|
+
const restoreRecordedWorkspace = (line) => recordedCwd === null || recordedCwd === workspaceDir ? line : line.split(jsonText(workspaceDir)).join(jsonText(recordedCwd));
|
|
6595
6593
|
const initializeId = PARITY_INITIALIZE_ID;
|
|
6596
6594
|
const startedAt = Date.now();
|
|
6597
6595
|
const lines = [];
|
|
@@ -6829,8 +6827,14 @@ async function replayRecording(options) {
|
|
|
6829
6827
|
return null;
|
|
6830
6828
|
})
|
|
6831
6829
|
]);
|
|
6832
|
-
|
|
6833
|
-
|
|
6830
|
+
for (const directory of [stateDir, workspaceDir]) {
|
|
6831
|
+
await rm(directory, {
|
|
6832
|
+
force: true,
|
|
6833
|
+
maxRetries: REPLAY_CLEANUP_RETRIES,
|
|
6834
|
+
recursive: true,
|
|
6835
|
+
retryDelay: REPLAY_CLEANUP_RETRY_DELAY_MS
|
|
6836
|
+
});
|
|
6837
|
+
}
|
|
6834
6838
|
return {
|
|
6835
6839
|
providerId,
|
|
6836
6840
|
recordingDir: options.recordingDir,
|
|
@@ -354,6 +354,70 @@ function readNewlineDelimitedLines(input, onLine) {
|
|
|
354
354
|
// Player
|
|
355
355
|
// ---------------------------------------------------------------------------
|
|
356
356
|
|
|
357
|
+
function servePiCatalog(entries) {
|
|
358
|
+
const models = new Map();
|
|
359
|
+
let state = {};
|
|
360
|
+
for (const entry of entries) {
|
|
361
|
+
if (entry.dir !== "provider→bridge") continue;
|
|
362
|
+
const message = parseLine(entry.line);
|
|
363
|
+
if (message?.type !== "response" || message.success !== true) continue;
|
|
364
|
+
const candidates = [];
|
|
365
|
+
if (message.command === "get_state" && message.data?.model) {
|
|
366
|
+
candidates.push(message.data.model);
|
|
367
|
+
if (!state.model) state = message.data;
|
|
368
|
+
}
|
|
369
|
+
if (
|
|
370
|
+
message.command === "get_available_models" &&
|
|
371
|
+
Array.isArray(message.data?.models)
|
|
372
|
+
) {
|
|
373
|
+
candidates.push(...message.data.models);
|
|
374
|
+
}
|
|
375
|
+
for (const model of candidates) {
|
|
376
|
+
if (typeof model?.provider === "string" && typeof model.id === "string") {
|
|
377
|
+
models.set(`${model.provider}/${model.id}`, model);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
const channelOut = createWriteStream(null, { fd: 3 });
|
|
382
|
+
const channelIn = new Socket({ fd: 4, readable: true, writable: false });
|
|
383
|
+
channelIn.on("error", () => {});
|
|
384
|
+
channelIn.unref();
|
|
385
|
+
readNewlineDelimitedLines(channelIn, (line) => {
|
|
386
|
+
const message = parseLine(line);
|
|
387
|
+
if (message?.kind !== "request" || message.method !== "model-scope") return;
|
|
388
|
+
channelOut.write(
|
|
389
|
+
`${JSON.stringify({
|
|
390
|
+
kind: "reply",
|
|
391
|
+
id: message.id,
|
|
392
|
+
result: {
|
|
393
|
+
scopedModelIds: [...models.keys()],
|
|
394
|
+
...(state.model
|
|
395
|
+
? { defaultModelId: `${state.model.provider}/${state.model.id}` }
|
|
396
|
+
: {}),
|
|
397
|
+
},
|
|
398
|
+
})}\n`,
|
|
399
|
+
);
|
|
400
|
+
});
|
|
401
|
+
readNewlineDelimitedLines(process.stdin, (line) => {
|
|
402
|
+
const message = parseLine(line);
|
|
403
|
+
if (typeof message?.id !== "string") return;
|
|
404
|
+
process.stdout.write(
|
|
405
|
+
`${JSON.stringify({
|
|
406
|
+
id: message.id,
|
|
407
|
+
type: "response",
|
|
408
|
+
command: message.type,
|
|
409
|
+
success: true,
|
|
410
|
+
data:
|
|
411
|
+
message.type === "get_available_models"
|
|
412
|
+
? { models: [...models.values()] }
|
|
413
|
+
: state,
|
|
414
|
+
})}\n`,
|
|
415
|
+
);
|
|
416
|
+
});
|
|
417
|
+
process.stdin.on("end", () => process.exit(0));
|
|
418
|
+
process.on("SIGTERM", () => process.exit(0));
|
|
419
|
+
}
|
|
420
|
+
|
|
357
421
|
function main() {
|
|
358
422
|
// A bridge's install gate may probe `<cli> --version` through the replay
|
|
359
423
|
// command; answer like a CLI instead of claiming a segment and waiting.
|
|
@@ -369,6 +433,14 @@ function main() {
|
|
|
369
433
|
...readLane(args.recording, "provider→bridge"),
|
|
370
434
|
...readLane(args.recording, "bridge→provider"),
|
|
371
435
|
].sort((left, right) => left.run - right.run || left.seq - right.seq);
|
|
436
|
+
if (
|
|
437
|
+
args.dialect === "pi-rpc" &&
|
|
438
|
+
process.argv.includes("--no-session") &&
|
|
439
|
+
!process.argv.includes("--session-dir")
|
|
440
|
+
) {
|
|
441
|
+
servePiCatalog(entries);
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
372
444
|
const segments = buildSegments(entries, dialect);
|
|
373
445
|
const segmentIndex = claimSegmentIndex(args.state);
|
|
374
446
|
let script = segments[segmentIndex] ?? [];
|
package/dist/testing/app.js
CHANGED
|
@@ -1209,24 +1209,38 @@ function collectPluginAppRegistrations(definition, onComposerCustomizationReject
|
|
|
1209
1209
|
machineProviderInputs: /* @__PURE__ */ new Set(),
|
|
1210
1210
|
contentScript: /* @__PURE__ */ new Set()
|
|
1211
1211
|
};
|
|
1212
|
-
function
|
|
1213
|
-
const kind = "commands.register";
|
|
1212
|
+
function collectCommand(kind, registration) {
|
|
1214
1213
|
const id = requireSlotId(kind, registration?.id);
|
|
1215
1214
|
requireUniqueId(kind, seenIds.command, id);
|
|
1216
1215
|
if (typeof registration.run !== "function") {
|
|
1217
1216
|
throw new Error(`${kind}: "run" must be a function`);
|
|
1218
1217
|
}
|
|
1218
|
+
return {
|
|
1219
|
+
id,
|
|
1220
|
+
defaultShortcut: registration.defaultShortcut === void 0 ? null : commandShortcutSchema.parse(registration.defaultShortcut),
|
|
1221
|
+
title: requireNonEmptyString(kind, "title", registration.title)
|
|
1222
|
+
};
|
|
1223
|
+
}
|
|
1224
|
+
function registerCommand(registration) {
|
|
1225
|
+
const kind = "commands.register";
|
|
1226
|
+
const command = collectCommand(kind, registration);
|
|
1219
1227
|
if (registration.isAvailable !== void 0 && typeof registration.isAvailable !== "function") {
|
|
1220
1228
|
throw new Error(`${kind}: "isAvailable" must be a function`);
|
|
1221
1229
|
}
|
|
1222
1230
|
collected.commandPaletteActions.push({
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
title: requireNonEmptyString(kind, "title", registration.title),
|
|
1231
|
+
target: "app",
|
|
1232
|
+
...command,
|
|
1226
1233
|
...registration.isAvailable !== void 0 ? { isAvailable: registration.isAvailable } : {},
|
|
1227
1234
|
run: registration.run
|
|
1228
1235
|
});
|
|
1229
1236
|
}
|
|
1237
|
+
function registerComposerCommand(registration) {
|
|
1238
|
+
collected.commandPaletteActions.push({
|
|
1239
|
+
target: "composer",
|
|
1240
|
+
...collectCommand("composer.experimental_registerCommand", registration),
|
|
1241
|
+
run: registration.run
|
|
1242
|
+
});
|
|
1243
|
+
}
|
|
1230
1244
|
definition.setup({
|
|
1231
1245
|
commands: { register: registerCommand },
|
|
1232
1246
|
slots: {
|
|
@@ -1590,7 +1604,8 @@ function collectPluginAppRegistrations(definition, onComposerCustomizationReject
|
|
|
1590
1604
|
if (customization !== null) {
|
|
1591
1605
|
collected.composerCustomizations.push(customization);
|
|
1592
1606
|
}
|
|
1593
|
-
}
|
|
1607
|
+
},
|
|
1608
|
+
experimental_registerCommand: registerComposerCommand
|
|
1594
1609
|
},
|
|
1595
1610
|
experimental_icons: {
|
|
1596
1611
|
register(registration) {
|