@get-bb/plugin-sdk 0.4.106 → 0.4.108

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.
@@ -2102,6 +2102,8 @@ interface ComposerCustomization {
2102
2102
  /** Host-rendered menu row in the composer's `+` menu. */
2103
2103
  interface ComposerPlusMenuItem {
2104
2104
  id: string;
2105
+ /** Also offer this action in the desktop send dropdown and mobile long-press menu. */
2106
+ experimental_sendMenu?: boolean;
2105
2107
  label: string;
2106
2108
  /** Drawn only when the manifest declares no `bb.branding.icon`. */
2107
2109
  icon?: BbIconName;
@@ -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.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.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;
@@ -126,6 +126,7 @@ declare const uiPreferenceDefinitions: {
126
126
  readonly "sidebar.sectionOrder": UiPreferenceDefinition<z$1.ZodArray<z$1.ZodString>>;
127
127
  readonly "sidebar.manualSectionOrder": UiPreferenceDefinition<z$1.ZodArray<z$1.ZodString>>;
128
128
  readonly "sidebar.machineSectionOrder": UiPreferenceDefinition<z$1.ZodArray<z$1.ZodString>>;
129
+ readonly "sidebar.hiddenGroups": UiPreferenceDefinition<z$1.ZodPipe<z$1.ZodArray<z$1.ZodString>, z$1.ZodTransform<string[], string[]>>>;
129
130
  readonly "sidebar.collapsedSections": UiPreferenceDefinition<z$1.ZodArray<z$1.ZodEnum<{
130
131
  pinned: "pinned";
131
132
  threads: "threads";
@@ -179,11 +180,19 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
179
180
  "pane.focus.6": "pane.focus.6";
180
181
  "pane.focus.7": "pane.focus.7";
181
182
  "pane.focus.8": "pane.focus.8";
183
+ "pane.focus.down": "pane.focus.down";
184
+ "pane.focus.left": "pane.focus.left";
182
185
  "pane.focus.next": "pane.focus.next";
183
186
  "pane.focus.previous": "pane.focus.previous";
187
+ "pane.focus.right": "pane.focus.right";
188
+ "pane.focus.up": "pane.focus.up";
184
189
  "pane.maximize.toggle": "pane.maximize.toggle";
185
190
  "panel.close": "panel.close";
186
191
  "panel.newTab": "panel.newTab";
192
+ "panel.nextNewTabItem": "panel.nextNewTabItem";
193
+ "panel.nextTab": "panel.nextTab";
194
+ "panel.previousNewTabItem": "panel.previousNewTabItem";
195
+ "panel.previousTab": "panel.previousTab";
187
196
  "panel.reopenClosedTab": "panel.reopenClosedTab";
188
197
  "panel.toggle": "panel.toggle";
189
198
  "question.select.1": "question.select.1";
@@ -9936,11 +9945,19 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
9936
9945
  "pane.focus.6": "pane.focus.6";
9937
9946
  "pane.focus.7": "pane.focus.7";
9938
9947
  "pane.focus.8": "pane.focus.8";
9948
+ "pane.focus.down": "pane.focus.down";
9949
+ "pane.focus.left": "pane.focus.left";
9939
9950
  "pane.focus.next": "pane.focus.next";
9940
9951
  "pane.focus.previous": "pane.focus.previous";
9952
+ "pane.focus.right": "pane.focus.right";
9953
+ "pane.focus.up": "pane.focus.up";
9941
9954
  "pane.maximize.toggle": "pane.maximize.toggle";
9942
9955
  "panel.close": "panel.close";
9943
9956
  "panel.newTab": "panel.newTab";
9957
+ "panel.nextNewTabItem": "panel.nextNewTabItem";
9958
+ "panel.nextTab": "panel.nextTab";
9959
+ "panel.previousNewTabItem": "panel.previousNewTabItem";
9960
+ "panel.previousTab": "panel.previousTab";
9944
9961
  "panel.reopenClosedTab": "panel.reopenClosedTab";
9945
9962
  "panel.toggle": "panel.toggle";
9946
9963
  "question.select.1": "question.select.1";
@@ -10071,11 +10088,19 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10071
10088
  "pane.focus.6": "pane.focus.6";
10072
10089
  "pane.focus.7": "pane.focus.7";
10073
10090
  "pane.focus.8": "pane.focus.8";
10091
+ "pane.focus.down": "pane.focus.down";
10092
+ "pane.focus.left": "pane.focus.left";
10074
10093
  "pane.focus.next": "pane.focus.next";
10075
10094
  "pane.focus.previous": "pane.focus.previous";
10095
+ "pane.focus.right": "pane.focus.right";
10096
+ "pane.focus.up": "pane.focus.up";
10076
10097
  "pane.maximize.toggle": "pane.maximize.toggle";
10077
10098
  "panel.close": "panel.close";
10078
10099
  "panel.newTab": "panel.newTab";
10100
+ "panel.nextNewTabItem": "panel.nextNewTabItem";
10101
+ "panel.nextTab": "panel.nextTab";
10102
+ "panel.previousNewTabItem": "panel.previousNewTabItem";
10103
+ "panel.previousTab": "panel.previousTab";
10079
10104
  "panel.reopenClosedTab": "panel.reopenClosedTab";
10080
10105
  "panel.toggle": "panel.toggle";
10081
10106
  "question.select.1": "question.select.1";
@@ -10146,11 +10171,19 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10146
10171
  "pane.focus.6": "pane.focus.6";
10147
10172
  "pane.focus.7": "pane.focus.7";
10148
10173
  "pane.focus.8": "pane.focus.8";
10174
+ "pane.focus.down": "pane.focus.down";
10175
+ "pane.focus.left": "pane.focus.left";
10149
10176
  "pane.focus.next": "pane.focus.next";
10150
10177
  "pane.focus.previous": "pane.focus.previous";
10178
+ "pane.focus.right": "pane.focus.right";
10179
+ "pane.focus.up": "pane.focus.up";
10151
10180
  "pane.maximize.toggle": "pane.maximize.toggle";
10152
10181
  "panel.close": "panel.close";
10153
10182
  "panel.newTab": "panel.newTab";
10183
+ "panel.nextNewTabItem": "panel.nextNewTabItem";
10184
+ "panel.nextTab": "panel.nextTab";
10185
+ "panel.previousNewTabItem": "panel.previousNewTabItem";
10186
+ "panel.previousTab": "panel.previousTab";
10154
10187
  "panel.reopenClosedTab": "panel.reopenClosedTab";
10155
10188
  "panel.toggle": "panel.toggle";
10156
10189
  "question.select.1": "question.select.1";
@@ -14098,6 +14131,13 @@ declare const timelineTurnSummaryDetailsResponseSchema: z$1.ZodObject<{
14098
14131
  rows: z$1.ZodArray<z$1.ZodType<TimelineRow, unknown, z$1.core.$ZodTypeInternals<TimelineRow, unknown>>>;
14099
14132
  }, z$1.core.$strip>;
14100
14133
  type TimelineTurnSummaryDetailsResponse = z$1.infer<typeof timelineTurnSummaryDetailsResponseSchema>;
14134
+ declare const threadImageMetadataSchema: z$1.ZodObject<{
14135
+ etag: z$1.ZodNullable<z$1.ZodString>;
14136
+ height: z$1.ZodNumber;
14137
+ source: z$1.ZodString;
14138
+ width: z$1.ZodNumber;
14139
+ }, z$1.core.$strip>;
14140
+ type ThreadImageMetadata = z$1.infer<typeof threadImageMetadataSchema>;
14101
14141
  declare const threadTimelineResponseSchema: z$1.ZodObject<{
14102
14142
  activeBackgroundCommands: z$1.ZodArray<z$1.ZodObject<{
14103
14143
  completedAt: z$1.ZodNullable<z$1.ZodNumber>;
@@ -14364,6 +14404,12 @@ declare const threadTimelineResponseSchema: z$1.ZodObject<{
14364
14404
  tokensUsed: z$1.ZodNumber;
14365
14405
  updatedAt: z$1.ZodNumber;
14366
14406
  }, z$1.core.$strip>>;
14407
+ imageMetadata: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
14408
+ etag: z$1.ZodNullable<z$1.ZodString>;
14409
+ height: z$1.ZodNumber;
14410
+ source: z$1.ZodString;
14411
+ width: z$1.ZodNumber;
14412
+ }, z$1.core.$strip>>>;
14367
14413
  maxSeq: z$1.ZodNumber;
14368
14414
  modelFallback: z$1.ZodNullable<z$1.ZodObject<{
14369
14415
  detectedAt: z$1.ZodNumber;
@@ -16847,6 +16893,8 @@ interface ComposerCustomization {
16847
16893
  /** Host-rendered menu row in the composer's `+` menu. */
16848
16894
  interface ComposerPlusMenuItem {
16849
16895
  id: string;
16896
+ /** Also offer this action in the desktop send dropdown and mobile long-press menu. */
16897
+ experimental_sendMenu?: boolean;
16850
16898
  label: string;
16851
16899
  /** Drawn only when the manifest declares no `bb.branding.icon`. */
16852
16900
  icon?: BbIconName;
@@ -19377,6 +19425,9 @@ interface ThreadsArea {
19377
19425
  tabs: ThreadTabsArea;
19378
19426
  context(args: ThreadStatusArgs): Promise<ThreadContextResult>;
19379
19427
  timeline(args: ThreadTimelineArgs): Promise<ThreadTimelineResult>;
19428
+ saveImageMetadata(args: ThreadImageMetadata & ThreadStatusArgs): Promise<{
19429
+ ok: true;
19430
+ }>;
19380
19431
  timelineTurnSummaryDetails(args: ThreadTimelineTurnSummaryDetailsArgs): Promise<ThreadTimelineTurnSummaryDetailsResult>;
19381
19432
  storageFiles(args: ThreadStorageFilesArgs): Promise<ThreadStorageFilesResult>;
19382
19433
  storageLocation(args: ThreadStatusArgs): Promise<ThreadStorageLocationResult>;
@@ -159,6 +159,12 @@ function parseRegions(kind, registration, onRejected) {
159
159
  "description",
160
160
  entry?.description
161
161
  );
162
+ const sendMenu = entry?.experimental_sendMenu;
163
+ if (sendMenu !== void 0 && typeof sendMenu !== "boolean") {
164
+ throw new Error(
165
+ `${entryKind}: "experimental_sendMenu" must be a boolean when set`
166
+ );
167
+ }
162
168
  const disabled = entry?.disabled;
163
169
  if (disabled !== void 0 && typeof disabled !== "boolean" && typeof disabled !== "function") {
164
170
  throw new Error(
@@ -168,6 +174,7 @@ function parseRegions(kind, registration, onRejected) {
168
174
  return {
169
175
  id,
170
176
  label: requireNonEmptyString(entryKind, "label", entry?.label),
177
+ ...sendMenu !== void 0 ? { experimental_sendMenu: sendMenu } : {},
171
178
  ...icon !== void 0 ? { icon } : {},
172
179
  ...description !== void 0 ? { description } : {},
173
180
  ...disabled !== void 0 ? {
@@ -13902,6 +13902,12 @@ function parseRegions(kind, registration, onRejected) {
13902
13902
  "description",
13903
13903
  entry?.description
13904
13904
  );
13905
+ const sendMenu = entry?.experimental_sendMenu;
13906
+ if (sendMenu !== void 0 && typeof sendMenu !== "boolean") {
13907
+ throw new Error(
13908
+ `${entryKind}: "experimental_sendMenu" must be a boolean when set`
13909
+ );
13910
+ }
13905
13911
  const disabled = entry?.disabled;
13906
13912
  if (disabled !== void 0 && typeof disabled !== "boolean" && typeof disabled !== "function") {
13907
13913
  throw new Error(
@@ -13911,6 +13917,7 @@ function parseRegions(kind, registration, onRejected) {
13911
13917
  return {
13912
13918
  id,
13913
13919
  label: requireNonEmptyString(entryKind, "label", entry?.label),
13920
+ ...sendMenu !== void 0 ? { experimental_sendMenu: sendMenu } : {},
13914
13921
  ...icon !== void 0 ? { icon } : {},
13915
13922
  ...description !== void 0 ? { description } : {},
13916
13923
  ...disabled !== void 0 ? {
@@ -182,6 +182,12 @@ function parseRegions(kind, registration, onRejected) {
182
182
  "description",
183
183
  entry?.description
184
184
  );
185
+ const sendMenu = entry?.experimental_sendMenu;
186
+ if (sendMenu !== void 0 && typeof sendMenu !== "boolean") {
187
+ throw new Error(
188
+ `${entryKind}: "experimental_sendMenu" must be a boolean when set`
189
+ );
190
+ }
185
191
  const disabled = entry?.disabled;
186
192
  if (disabled !== void 0 && typeof disabled !== "boolean" && typeof disabled !== "function") {
187
193
  throw new Error(
@@ -191,6 +197,7 @@ function parseRegions(kind, registration, onRejected) {
191
197
  return {
192
198
  id,
193
199
  label: requireNonEmptyString(entryKind, "label", entry?.label),
200
+ ...sendMenu !== void 0 ? { experimental_sendMenu: sendMenu } : {},
194
201
  ...icon !== void 0 ? { icon } : {},
195
202
  ...description !== void 0 ? { description } : {},
196
203
  ...disabled !== void 0 ? {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@get-bb/plugin-sdk",
3
- "version": "0.4.106",
3
+ "version": "0.4.108",
4
4
  "homepage": "https://github.com/get-bb/bb#readme",
5
5
  "bugs": {
6
6
  "url": "https://github.com/get-bb/bb/issues"