@get-bb/plugin-sdk 0.5.30 → 0.6.5
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 +8 -4
- package/bundled-types/bb-plugin-sdk-app.d.ts +264 -384
- package/bundled-types/bb-plugin-sdk-environment-provider.d.ts +0 -84
- package/bundled-types/bb-plugin-sdk-internal-composer-handle.d.ts +457 -0
- package/bundled-types/bb-plugin-sdk-internal-host-policy.d.ts +21 -88
- package/bundled-types/bb-plugin-sdk-testing-app.d.ts +32 -10
- package/bundled-types/bb-plugin-sdk-testing.d.ts +8 -87
- package/bundled-types/bb-plugin-sdk.d.ts +298 -391
- package/dist/app.js +2 -0
- package/dist/internal/composer-customization-validation.js +37 -27
- package/dist/internal/composer-handle.js +531 -0
- package/dist/internal/plugin-app-collector.js +37 -27
- package/dist/testing/app.js +780 -132
- package/dist/testing/index.js +7 -4
- package/package.json +7 -1
|
@@ -285,6 +285,11 @@ declare const appKeybindingOverridesSchema: z$1.ZodArray<z$1.ZodObject<{
|
|
|
285
285
|
"window.new": "window.new";
|
|
286
286
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
287
287
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
288
|
+
platform: z$1.ZodOptional<z$1.ZodEnum<{
|
|
289
|
+
linux: "linux";
|
|
290
|
+
mac: "mac";
|
|
291
|
+
windows: "windows";
|
|
292
|
+
}>>;
|
|
288
293
|
shortcut: z$1.ZodNullable<z$1.ZodObject<{
|
|
289
294
|
alt: z$1.ZodBoolean;
|
|
290
295
|
control: z$1.ZodBoolean;
|
|
@@ -341,7 +346,6 @@ type AppThemeSelection = z$1.infer<typeof appThemeSelectionSchema>;
|
|
|
341
346
|
declare const changedMessageSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
342
347
|
changes: z$1.ZodReadonly<z$1.ZodArray<z$1.ZodEnum<{
|
|
343
348
|
"archived-changed": "archived-changed";
|
|
344
|
-
"draft-changed": "draft-changed";
|
|
345
349
|
"environment-changed": "environment-changed";
|
|
346
350
|
"events-appended": "events-appended";
|
|
347
351
|
"history-rewritten": "history-rewritten";
|
|
@@ -376,7 +380,6 @@ declare const changedMessageSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
|
376
380
|
latestAttentionAt: z$1.ZodNumber;
|
|
377
381
|
runtime: z$1.ZodObject<{
|
|
378
382
|
displayStatus: z$1.ZodEnum<{
|
|
379
|
-
"host-reconnecting": "host-reconnecting";
|
|
380
383
|
"waiting-for-host": "waiting-for-host";
|
|
381
384
|
active: "active";
|
|
382
385
|
error: "error";
|
|
@@ -386,7 +389,6 @@ declare const changedMessageSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
|
386
389
|
starting: "starting";
|
|
387
390
|
stopping: "stopping";
|
|
388
391
|
}>;
|
|
389
|
-
hostReconnectGraceExpiresAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
390
392
|
}, z$1.core.$strip>;
|
|
391
393
|
status: z$1.ZodEnum<{
|
|
392
394
|
active: "active";
|
|
@@ -531,6 +533,7 @@ declare const environmentSchema: z$1.ZodObject<{
|
|
|
531
533
|
type Environment = z$1.infer<typeof environmentSchema>;
|
|
532
534
|
|
|
533
535
|
declare const experimentsSchema: z$1.ZodRecord<z$1.ZodEnum<{
|
|
536
|
+
androidTesting: "androidTesting";
|
|
534
537
|
changelogPreview: "changelogPreview";
|
|
535
538
|
legacyJitiPluginLoader: "legacyJitiPluginLoader";
|
|
536
539
|
mobileApp: "mobileApp";
|
|
@@ -4209,7 +4212,6 @@ declare const threadTimelinePendingTodosSchema: z$1.ZodObject<{
|
|
|
4209
4212
|
type ThreadTimelinePendingTodos = z$1.infer<typeof threadTimelinePendingTodosSchema>;
|
|
4210
4213
|
|
|
4211
4214
|
declare const threadRuntimeDisplayStatusSchema: z$1.ZodEnum<{
|
|
4212
|
-
"host-reconnecting": "host-reconnecting";
|
|
4213
4215
|
"waiting-for-host": "waiting-for-host";
|
|
4214
4216
|
active: "active";
|
|
4215
4217
|
error: "error";
|
|
@@ -4902,7 +4904,6 @@ declare const projectWithThreadsResponseSchema: z$1.ZodObject<{
|
|
|
4902
4904
|
}>;
|
|
4903
4905
|
runtime: z$1.ZodObject<{
|
|
4904
4906
|
displayStatus: z$1.ZodEnum<{
|
|
4905
|
-
"host-reconnecting": "host-reconnecting";
|
|
4906
4907
|
"waiting-for-host": "waiting-for-host";
|
|
4907
4908
|
active: "active";
|
|
4908
4909
|
error: "error";
|
|
@@ -4912,7 +4913,6 @@ declare const projectWithThreadsResponseSchema: z$1.ZodObject<{
|
|
|
4912
4913
|
starting: "starting";
|
|
4913
4914
|
stopping: "stopping";
|
|
4914
4915
|
}>;
|
|
4915
|
-
hostReconnectGraceExpiresAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
4916
4916
|
}, z$1.core.$strip>;
|
|
4917
4917
|
sectionId: z$1.ZodNullable<z$1.ZodString>;
|
|
4918
4918
|
sourceThreadId: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -5022,7 +5022,6 @@ declare const sidebarBootstrapResponseSchema: z$1.ZodObject<{
|
|
|
5022
5022
|
}>;
|
|
5023
5023
|
runtime: z$1.ZodObject<{
|
|
5024
5024
|
displayStatus: z$1.ZodEnum<{
|
|
5025
|
-
"host-reconnecting": "host-reconnecting";
|
|
5026
5025
|
"waiting-for-host": "waiting-for-host";
|
|
5027
5026
|
active: "active";
|
|
5028
5027
|
error: "error";
|
|
@@ -5032,7 +5031,6 @@ declare const sidebarBootstrapResponseSchema: z$1.ZodObject<{
|
|
|
5032
5031
|
starting: "starting";
|
|
5033
5032
|
stopping: "stopping";
|
|
5034
5033
|
}>;
|
|
5035
|
-
hostReconnectGraceExpiresAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
5036
5034
|
}, z$1.core.$strip>;
|
|
5037
5035
|
sectionId: z$1.ZodNullable<z$1.ZodString>;
|
|
5038
5036
|
sourceThreadId: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -5140,7 +5138,6 @@ declare const sidebarBootstrapResponseSchema: z$1.ZodObject<{
|
|
|
5140
5138
|
}>;
|
|
5141
5139
|
runtime: z$1.ZodObject<{
|
|
5142
5140
|
displayStatus: z$1.ZodEnum<{
|
|
5143
|
-
"host-reconnecting": "host-reconnecting";
|
|
5144
5141
|
"waiting-for-host": "waiting-for-host";
|
|
5145
5142
|
active: "active";
|
|
5146
5143
|
error: "error";
|
|
@@ -5150,7 +5147,6 @@ declare const sidebarBootstrapResponseSchema: z$1.ZodObject<{
|
|
|
5150
5147
|
starting: "starting";
|
|
5151
5148
|
stopping: "stopping";
|
|
5152
5149
|
}>;
|
|
5153
|
-
hostReconnectGraceExpiresAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
5154
5150
|
}, z$1.core.$strip>;
|
|
5155
5151
|
sectionId: z$1.ZodNullable<z$1.ZodString>;
|
|
5156
5152
|
sourceThreadId: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -10142,6 +10138,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10142
10138
|
all: z$1.ZodArray<z$1.ZodEnum<{
|
|
10143
10139
|
browserFocus: "browserFocus";
|
|
10144
10140
|
editableFocus: "editableFocus";
|
|
10141
|
+
linuxPlatform: "linuxPlatform";
|
|
10145
10142
|
macPlatform: "macPlatform";
|
|
10146
10143
|
mainSurface: "mainSurface";
|
|
10147
10144
|
modalOpen: "modalOpen";
|
|
@@ -10151,10 +10148,12 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10151
10148
|
splitActive: "splitActive";
|
|
10152
10149
|
terminalFocus: "terminalFocus";
|
|
10153
10150
|
webSurface: "webSurface";
|
|
10151
|
+
windowsPlatform: "windowsPlatform";
|
|
10154
10152
|
}>>;
|
|
10155
10153
|
none: z$1.ZodArray<z$1.ZodEnum<{
|
|
10156
10154
|
browserFocus: "browserFocus";
|
|
10157
10155
|
editableFocus: "editableFocus";
|
|
10156
|
+
linuxPlatform: "linuxPlatform";
|
|
10158
10157
|
macPlatform: "macPlatform";
|
|
10159
10158
|
mainSurface: "mainSurface";
|
|
10160
10159
|
modalOpen: "modalOpen";
|
|
@@ -10164,10 +10163,12 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10164
10163
|
splitActive: "splitActive";
|
|
10165
10164
|
terminalFocus: "terminalFocus";
|
|
10166
10165
|
webSurface: "webSurface";
|
|
10166
|
+
windowsPlatform: "windowsPlatform";
|
|
10167
10167
|
}>>;
|
|
10168
10168
|
}, z$1.core.$strict>;
|
|
10169
10169
|
}, z$1.core.$strict>>;
|
|
10170
10170
|
experiments: z$1.ZodRecord<z$1.ZodEnum<{
|
|
10171
|
+
androidTesting: "androidTesting";
|
|
10171
10172
|
changelogPreview: "changelogPreview";
|
|
10172
10173
|
legacyJitiPluginLoader: "legacyJitiPluginLoader";
|
|
10173
10174
|
mobileApp: "mobileApp";
|
|
@@ -10276,6 +10277,11 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10276
10277
|
"window.new": "window.new";
|
|
10277
10278
|
"workspace.openPreferred": "workspace.openPreferred";
|
|
10278
10279
|
}>, z$1.ZodTemplateLiteral<`plugin:${string}/${string}`>]>;
|
|
10280
|
+
platform: z$1.ZodOptional<z$1.ZodEnum<{
|
|
10281
|
+
linux: "linux";
|
|
10282
|
+
mac: "mac";
|
|
10283
|
+
windows: "windows";
|
|
10284
|
+
}>>;
|
|
10279
10285
|
shortcut: z$1.ZodNullable<z$1.ZodObject<{
|
|
10280
10286
|
alt: z$1.ZodBoolean;
|
|
10281
10287
|
control: z$1.ZodBoolean;
|
|
@@ -10376,6 +10382,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10376
10382
|
all: z$1.ZodArray<z$1.ZodEnum<{
|
|
10377
10383
|
browserFocus: "browserFocus";
|
|
10378
10384
|
editableFocus: "editableFocus";
|
|
10385
|
+
linuxPlatform: "linuxPlatform";
|
|
10379
10386
|
macPlatform: "macPlatform";
|
|
10380
10387
|
mainSurface: "mainSurface";
|
|
10381
10388
|
modalOpen: "modalOpen";
|
|
@@ -10385,10 +10392,12 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10385
10392
|
splitActive: "splitActive";
|
|
10386
10393
|
terminalFocus: "terminalFocus";
|
|
10387
10394
|
webSurface: "webSurface";
|
|
10395
|
+
windowsPlatform: "windowsPlatform";
|
|
10388
10396
|
}>>;
|
|
10389
10397
|
none: z$1.ZodArray<z$1.ZodEnum<{
|
|
10390
10398
|
browserFocus: "browserFocus";
|
|
10391
10399
|
editableFocus: "editableFocus";
|
|
10400
|
+
linuxPlatform: "linuxPlatform";
|
|
10392
10401
|
macPlatform: "macPlatform";
|
|
10393
10402
|
mainSurface: "mainSurface";
|
|
10394
10403
|
modalOpen: "modalOpen";
|
|
@@ -10398,6 +10407,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
|
|
|
10398
10407
|
splitActive: "splitActive";
|
|
10399
10408
|
terminalFocus: "terminalFocus";
|
|
10400
10409
|
webSurface: "webSurface";
|
|
10410
|
+
windowsPlatform: "windowsPlatform";
|
|
10401
10411
|
}>>;
|
|
10402
10412
|
}, z$1.core.$strict>;
|
|
10403
10413
|
}, z$1.core.$strict>>;
|
|
@@ -10665,6 +10675,27 @@ declare const systemMachineProviderSchema: z$1.ZodObject<{
|
|
|
10665
10675
|
supportsSuspend: z$1.ZodBoolean;
|
|
10666
10676
|
}, z$1.core.$strip>;
|
|
10667
10677
|
type SystemMachineProvider = z$1.infer<typeof systemMachineProviderSchema>;
|
|
10678
|
+
declare const androidAppArtifactSchema: z$1.ZodObject<{
|
|
10679
|
+
sha256: z$1.ZodString;
|
|
10680
|
+
size: z$1.ZodNumber;
|
|
10681
|
+
version: z$1.ZodString;
|
|
10682
|
+
versionCode: z$1.ZodNumber;
|
|
10683
|
+
}, z$1.core.$strip>;
|
|
10684
|
+
type AndroidAppArtifact = z$1.infer<typeof androidAppArtifactSchema>;
|
|
10685
|
+
type SystemAndroidAppResponse = AndroidAppArtifact | null;
|
|
10686
|
+
declare const androidAppPrepareRequestSchema: z$1.ZodObject<{
|
|
10687
|
+
source: z$1.ZodEnum<{
|
|
10688
|
+
github: "github";
|
|
10689
|
+
local: "local";
|
|
10690
|
+
}>;
|
|
10691
|
+
}, z$1.core.$strip>;
|
|
10692
|
+
type AndroidAppPrepareRequest = z$1.infer<typeof androidAppPrepareRequestSchema>;
|
|
10693
|
+
interface AndroidAppPreparation {
|
|
10694
|
+
status: "failed" | "idle" | "preparing" | "ready";
|
|
10695
|
+
source: "github" | "local" | null;
|
|
10696
|
+
message: string;
|
|
10697
|
+
artifact: AndroidAppArtifact | null;
|
|
10698
|
+
}
|
|
10668
10699
|
|
|
10669
10700
|
interface UiPreferencesResponse {
|
|
10670
10701
|
preferences: UiPreferenceEntries;
|
|
@@ -11982,7 +12013,6 @@ declare const createExecutionInputSourcesSchema: z$1.ZodObject<{
|
|
|
11982
12013
|
}, z$1.core.$strict>;
|
|
11983
12014
|
type CreateExecutionInputSources = z$1.infer<typeof createExecutionInputSourcesSchema>;
|
|
11984
12015
|
declare const createThreadRequestSchema: z$1.ZodObject<{
|
|
11985
|
-
draft: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
11986
12016
|
environment: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
11987
12017
|
environmentId: z$1.ZodString;
|
|
11988
12018
|
type: z$1.ZodLiteral<"reuse">;
|
|
@@ -12147,6 +12177,7 @@ declare const createThreadRequestSchema: z$1.ZodObject<{
|
|
|
12147
12177
|
auto: "auto";
|
|
12148
12178
|
full: "full";
|
|
12149
12179
|
}>, z$1.ZodLiteral<"workspace-write">]>, z$1.ZodTransform<"accept-edits" | "auto" | "full", "accept-edits" | "auto" | "full" | "workspace-write">>>;
|
|
12180
|
+
pinned: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
12150
12181
|
pluginMetadata: z$1.ZodOptional<z$1.ZodType<JsonObject, unknown, z$1.core.$ZodTypeInternals<JsonObject, unknown>>>;
|
|
12151
12182
|
pluginSubmission: z$1.ZodOptional<z$1.ZodObject<{
|
|
12152
12183
|
data: z$1.ZodType<JsonValue, unknown, z$1.core.$ZodTypeInternals<JsonValue, unknown>>;
|
|
@@ -13017,91 +13048,6 @@ declare const createQueuedMessageRequestSchema: z$1.ZodObject<{
|
|
|
13017
13048
|
}>>;
|
|
13018
13049
|
}, z$1.core.$strip>;
|
|
13019
13050
|
type CreateQueuedMessageRequest = z$1.infer<typeof createQueuedMessageRequestSchema>;
|
|
13020
|
-
declare const updateThreadDraftRequestSchema: z$1.ZodObject<{
|
|
13021
|
-
input: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
13022
|
-
mentions: z$1.ZodDefault<z$1.ZodArray<z$1.ZodObject<{
|
|
13023
|
-
end: z$1.ZodNumber;
|
|
13024
|
-
resource: z$1.ZodPipe<z$1.ZodTransform<unknown, unknown>, z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
13025
|
-
kind: z$1.ZodLiteral<"thread">;
|
|
13026
|
-
label: z$1.ZodString;
|
|
13027
|
-
projectId: z$1.ZodOptional<z$1.ZodString>;
|
|
13028
|
-
threadId: z$1.ZodString;
|
|
13029
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13030
|
-
kind: z$1.ZodLiteral<"project">;
|
|
13031
|
-
label: z$1.ZodString;
|
|
13032
|
-
projectId: z$1.ZodString;
|
|
13033
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13034
|
-
kind: z$1.ZodLiteral<"section">;
|
|
13035
|
-
label: z$1.ZodString;
|
|
13036
|
-
sectionId: z$1.ZodString;
|
|
13037
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13038
|
-
entryKind: z$1.ZodEnum<{
|
|
13039
|
-
directory: "directory";
|
|
13040
|
-
file: "file";
|
|
13041
|
-
}>;
|
|
13042
|
-
kind: z$1.ZodLiteral<"path">;
|
|
13043
|
-
label: z$1.ZodString;
|
|
13044
|
-
path: z$1.ZodString;
|
|
13045
|
-
source: z$1.ZodEnum<{
|
|
13046
|
-
"thread-storage": "thread-storage";
|
|
13047
|
-
workspace: "workspace";
|
|
13048
|
-
}>;
|
|
13049
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13050
|
-
argumentHint: z$1.ZodNullable<z$1.ZodString>;
|
|
13051
|
-
kind: z$1.ZodLiteral<"command">;
|
|
13052
|
-
label: z$1.ZodString;
|
|
13053
|
-
name: z$1.ZodString;
|
|
13054
|
-
origin: z$1.ZodEnum<{
|
|
13055
|
-
builtin: "builtin";
|
|
13056
|
-
project: "project";
|
|
13057
|
-
user: "user";
|
|
13058
|
-
}>;
|
|
13059
|
-
source: z$1.ZodEnum<{
|
|
13060
|
-
command: "command";
|
|
13061
|
-
skill: "skill";
|
|
13062
|
-
}>;
|
|
13063
|
-
trigger: z$1.ZodEnum<{
|
|
13064
|
-
"/": "/";
|
|
13065
|
-
$: "$";
|
|
13066
|
-
}>;
|
|
13067
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13068
|
-
icon: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
13069
|
-
itemId: z$1.ZodString;
|
|
13070
|
-
kind: z$1.ZodLiteral<"plugin">;
|
|
13071
|
-
label: z$1.ZodString;
|
|
13072
|
-
pluginId: z$1.ZodString;
|
|
13073
|
-
}, z$1.core.$strip>], "kind">>;
|
|
13074
|
-
start: z$1.ZodNumber;
|
|
13075
|
-
}, z$1.core.$strip>>>;
|
|
13076
|
-
text: z$1.ZodString;
|
|
13077
|
-
type: z$1.ZodLiteral<"text">;
|
|
13078
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13079
|
-
"agent-only": "agent-only";
|
|
13080
|
-
}>>;
|
|
13081
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13082
|
-
type: z$1.ZodLiteral<"image">;
|
|
13083
|
-
url: z$1.ZodString;
|
|
13084
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13085
|
-
"agent-only": "agent-only";
|
|
13086
|
-
}>>;
|
|
13087
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13088
|
-
path: z$1.ZodString;
|
|
13089
|
-
type: z$1.ZodLiteral<"localImage">;
|
|
13090
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13091
|
-
"agent-only": "agent-only";
|
|
13092
|
-
}>>;
|
|
13093
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13094
|
-
mimeType: z$1.ZodOptional<z$1.ZodString>;
|
|
13095
|
-
name: z$1.ZodOptional<z$1.ZodString>;
|
|
13096
|
-
path: z$1.ZodString;
|
|
13097
|
-
sizeBytes: z$1.ZodOptional<z$1.ZodNumber>;
|
|
13098
|
-
type: z$1.ZodLiteral<"localFile">;
|
|
13099
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13100
|
-
"agent-only": "agent-only";
|
|
13101
|
-
}>>;
|
|
13102
|
-
}, z$1.core.$strip>], "type">>;
|
|
13103
|
-
}, z$1.core.$strict>;
|
|
13104
|
-
type UpdateThreadDraftRequest = z$1.infer<typeof updateThreadDraftRequestSchema>;
|
|
13105
13051
|
declare const updateQueuedMessageRequestSchema: z$1.ZodObject<{
|
|
13106
13052
|
expectedUpdatedAt: z$1.ZodNumber;
|
|
13107
13053
|
input: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
@@ -13411,7 +13357,6 @@ declare const threadListResponseSchema: z$1.ZodArray<z$1.ZodObject<{
|
|
|
13411
13357
|
}>;
|
|
13412
13358
|
runtime: z$1.ZodObject<{
|
|
13413
13359
|
displayStatus: z$1.ZodEnum<{
|
|
13414
|
-
"host-reconnecting": "host-reconnecting";
|
|
13415
13360
|
"waiting-for-host": "waiting-for-host";
|
|
13416
13361
|
active: "active";
|
|
13417
13362
|
error: "error";
|
|
@@ -13421,7 +13366,6 @@ declare const threadListResponseSchema: z$1.ZodArray<z$1.ZodObject<{
|
|
|
13421
13366
|
starting: "starting";
|
|
13422
13367
|
stopping: "stopping";
|
|
13423
13368
|
}>;
|
|
13424
|
-
hostReconnectGraceExpiresAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
13425
13369
|
}, z$1.core.$strip>;
|
|
13426
13370
|
sectionId: z$1.ZodNullable<z$1.ZodString>;
|
|
13427
13371
|
sourceThreadId: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -13514,7 +13458,6 @@ declare const threadSearchResponseSchema: z$1.ZodObject<{
|
|
|
13514
13458
|
}>;
|
|
13515
13459
|
runtime: z$1.ZodObject<{
|
|
13516
13460
|
displayStatus: z$1.ZodEnum<{
|
|
13517
|
-
"host-reconnecting": "host-reconnecting";
|
|
13518
13461
|
"waiting-for-host": "waiting-for-host";
|
|
13519
13462
|
active: "active";
|
|
13520
13463
|
error: "error";
|
|
@@ -13524,7 +13467,6 @@ declare const threadSearchResponseSchema: z$1.ZodObject<{
|
|
|
13524
13467
|
starting: "starting";
|
|
13525
13468
|
stopping: "stopping";
|
|
13526
13469
|
}>;
|
|
13527
|
-
hostReconnectGraceExpiresAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
13528
13470
|
}, z$1.core.$strip>;
|
|
13529
13471
|
sectionId: z$1.ZodNullable<z$1.ZodString>;
|
|
13530
13472
|
sourceThreadId: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -13608,7 +13550,6 @@ declare const threadSearchResponseSchema: z$1.ZodObject<{
|
|
|
13608
13550
|
}>;
|
|
13609
13551
|
runtime: z$1.ZodObject<{
|
|
13610
13552
|
displayStatus: z$1.ZodEnum<{
|
|
13611
|
-
"host-reconnecting": "host-reconnecting";
|
|
13612
13553
|
"waiting-for-host": "waiting-for-host";
|
|
13613
13554
|
active: "active";
|
|
13614
13555
|
error: "error";
|
|
@@ -13618,7 +13559,6 @@ declare const threadSearchResponseSchema: z$1.ZodObject<{
|
|
|
13618
13559
|
starting: "starting";
|
|
13619
13560
|
stopping: "stopping";
|
|
13620
13561
|
}>;
|
|
13621
|
-
hostReconnectGraceExpiresAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
13622
13562
|
}, z$1.core.$strip>;
|
|
13623
13563
|
sectionId: z$1.ZodNullable<z$1.ZodString>;
|
|
13624
13564
|
sourceThreadId: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -13650,88 +13590,6 @@ declare const threadResponseSchema: z$1.ZodObject<{
|
|
|
13650
13590
|
canSpawnChild: z$1.ZodBoolean;
|
|
13651
13591
|
createdAt: z$1.ZodNumber;
|
|
13652
13592
|
deletedAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
13653
|
-
draft: z$1.ZodNullable<z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
13654
|
-
mentions: z$1.ZodDefault<z$1.ZodArray<z$1.ZodObject<{
|
|
13655
|
-
end: z$1.ZodNumber;
|
|
13656
|
-
resource: z$1.ZodPipe<z$1.ZodTransform<unknown, unknown>, z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
13657
|
-
kind: z$1.ZodLiteral<"thread">;
|
|
13658
|
-
label: z$1.ZodString;
|
|
13659
|
-
projectId: z$1.ZodOptional<z$1.ZodString>;
|
|
13660
|
-
threadId: z$1.ZodString;
|
|
13661
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13662
|
-
kind: z$1.ZodLiteral<"project">;
|
|
13663
|
-
label: z$1.ZodString;
|
|
13664
|
-
projectId: z$1.ZodString;
|
|
13665
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13666
|
-
kind: z$1.ZodLiteral<"section">;
|
|
13667
|
-
label: z$1.ZodString;
|
|
13668
|
-
sectionId: z$1.ZodString;
|
|
13669
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13670
|
-
entryKind: z$1.ZodEnum<{
|
|
13671
|
-
directory: "directory";
|
|
13672
|
-
file: "file";
|
|
13673
|
-
}>;
|
|
13674
|
-
kind: z$1.ZodLiteral<"path">;
|
|
13675
|
-
label: z$1.ZodString;
|
|
13676
|
-
path: z$1.ZodString;
|
|
13677
|
-
source: z$1.ZodEnum<{
|
|
13678
|
-
"thread-storage": "thread-storage";
|
|
13679
|
-
workspace: "workspace";
|
|
13680
|
-
}>;
|
|
13681
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13682
|
-
argumentHint: z$1.ZodNullable<z$1.ZodString>;
|
|
13683
|
-
kind: z$1.ZodLiteral<"command">;
|
|
13684
|
-
label: z$1.ZodString;
|
|
13685
|
-
name: z$1.ZodString;
|
|
13686
|
-
origin: z$1.ZodEnum<{
|
|
13687
|
-
builtin: "builtin";
|
|
13688
|
-
project: "project";
|
|
13689
|
-
user: "user";
|
|
13690
|
-
}>;
|
|
13691
|
-
source: z$1.ZodEnum<{
|
|
13692
|
-
command: "command";
|
|
13693
|
-
skill: "skill";
|
|
13694
|
-
}>;
|
|
13695
|
-
trigger: z$1.ZodEnum<{
|
|
13696
|
-
"/": "/";
|
|
13697
|
-
$: "$";
|
|
13698
|
-
}>;
|
|
13699
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13700
|
-
icon: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
13701
|
-
itemId: z$1.ZodString;
|
|
13702
|
-
kind: z$1.ZodLiteral<"plugin">;
|
|
13703
|
-
label: z$1.ZodString;
|
|
13704
|
-
pluginId: z$1.ZodString;
|
|
13705
|
-
}, z$1.core.$strip>], "kind">>;
|
|
13706
|
-
start: z$1.ZodNumber;
|
|
13707
|
-
}, z$1.core.$strip>>>;
|
|
13708
|
-
text: z$1.ZodString;
|
|
13709
|
-
type: z$1.ZodLiteral<"text">;
|
|
13710
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13711
|
-
"agent-only": "agent-only";
|
|
13712
|
-
}>>;
|
|
13713
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13714
|
-
type: z$1.ZodLiteral<"image">;
|
|
13715
|
-
url: z$1.ZodString;
|
|
13716
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13717
|
-
"agent-only": "agent-only";
|
|
13718
|
-
}>>;
|
|
13719
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13720
|
-
path: z$1.ZodString;
|
|
13721
|
-
type: z$1.ZodLiteral<"localImage">;
|
|
13722
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13723
|
-
"agent-only": "agent-only";
|
|
13724
|
-
}>>;
|
|
13725
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13726
|
-
mimeType: z$1.ZodOptional<z$1.ZodString>;
|
|
13727
|
-
name: z$1.ZodOptional<z$1.ZodString>;
|
|
13728
|
-
path: z$1.ZodString;
|
|
13729
|
-
sizeBytes: z$1.ZodOptional<z$1.ZodNumber>;
|
|
13730
|
-
type: z$1.ZodLiteral<"localFile">;
|
|
13731
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13732
|
-
"agent-only": "agent-only";
|
|
13733
|
-
}>>;
|
|
13734
|
-
}, z$1.core.$strip>], "type">>>;
|
|
13735
13593
|
environmentId: z$1.ZodNullable<z$1.ZodString>;
|
|
13736
13594
|
id: z$1.ZodString;
|
|
13737
13595
|
lastReadAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
@@ -13748,7 +13606,6 @@ declare const threadResponseSchema: z$1.ZodObject<{
|
|
|
13748
13606
|
queuedMessageCount: z$1.ZodNumber;
|
|
13749
13607
|
runtime: z$1.ZodObject<{
|
|
13750
13608
|
displayStatus: z$1.ZodEnum<{
|
|
13751
|
-
"host-reconnecting": "host-reconnecting";
|
|
13752
13609
|
"waiting-for-host": "waiting-for-host";
|
|
13753
13610
|
active: "active";
|
|
13754
13611
|
error: "error";
|
|
@@ -13758,7 +13615,6 @@ declare const threadResponseSchema: z$1.ZodObject<{
|
|
|
13758
13615
|
starting: "starting";
|
|
13759
13616
|
stopping: "stopping";
|
|
13760
13617
|
}>;
|
|
13761
|
-
hostReconnectGraceExpiresAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
13762
13618
|
}, z$1.core.$strip>;
|
|
13763
13619
|
sectionId: z$1.ZodNullable<z$1.ZodString>;
|
|
13764
13620
|
sourceThreadId: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -13791,88 +13647,6 @@ declare const threadWithIncludesResponseSchema: z$1.ZodObject<{
|
|
|
13791
13647
|
canSpawnChild: z$1.ZodBoolean;
|
|
13792
13648
|
createdAt: z$1.ZodNumber;
|
|
13793
13649
|
deletedAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
13794
|
-
draft: z$1.ZodNullable<z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
13795
|
-
mentions: z$1.ZodDefault<z$1.ZodArray<z$1.ZodObject<{
|
|
13796
|
-
end: z$1.ZodNumber;
|
|
13797
|
-
resource: z$1.ZodPipe<z$1.ZodTransform<unknown, unknown>, z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
13798
|
-
kind: z$1.ZodLiteral<"thread">;
|
|
13799
|
-
label: z$1.ZodString;
|
|
13800
|
-
projectId: z$1.ZodOptional<z$1.ZodString>;
|
|
13801
|
-
threadId: z$1.ZodString;
|
|
13802
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13803
|
-
kind: z$1.ZodLiteral<"project">;
|
|
13804
|
-
label: z$1.ZodString;
|
|
13805
|
-
projectId: z$1.ZodString;
|
|
13806
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13807
|
-
kind: z$1.ZodLiteral<"section">;
|
|
13808
|
-
label: z$1.ZodString;
|
|
13809
|
-
sectionId: z$1.ZodString;
|
|
13810
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13811
|
-
entryKind: z$1.ZodEnum<{
|
|
13812
|
-
directory: "directory";
|
|
13813
|
-
file: "file";
|
|
13814
|
-
}>;
|
|
13815
|
-
kind: z$1.ZodLiteral<"path">;
|
|
13816
|
-
label: z$1.ZodString;
|
|
13817
|
-
path: z$1.ZodString;
|
|
13818
|
-
source: z$1.ZodEnum<{
|
|
13819
|
-
"thread-storage": "thread-storage";
|
|
13820
|
-
workspace: "workspace";
|
|
13821
|
-
}>;
|
|
13822
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13823
|
-
argumentHint: z$1.ZodNullable<z$1.ZodString>;
|
|
13824
|
-
kind: z$1.ZodLiteral<"command">;
|
|
13825
|
-
label: z$1.ZodString;
|
|
13826
|
-
name: z$1.ZodString;
|
|
13827
|
-
origin: z$1.ZodEnum<{
|
|
13828
|
-
builtin: "builtin";
|
|
13829
|
-
project: "project";
|
|
13830
|
-
user: "user";
|
|
13831
|
-
}>;
|
|
13832
|
-
source: z$1.ZodEnum<{
|
|
13833
|
-
command: "command";
|
|
13834
|
-
skill: "skill";
|
|
13835
|
-
}>;
|
|
13836
|
-
trigger: z$1.ZodEnum<{
|
|
13837
|
-
"/": "/";
|
|
13838
|
-
$: "$";
|
|
13839
|
-
}>;
|
|
13840
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13841
|
-
icon: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
13842
|
-
itemId: z$1.ZodString;
|
|
13843
|
-
kind: z$1.ZodLiteral<"plugin">;
|
|
13844
|
-
label: z$1.ZodString;
|
|
13845
|
-
pluginId: z$1.ZodString;
|
|
13846
|
-
}, z$1.core.$strip>], "kind">>;
|
|
13847
|
-
start: z$1.ZodNumber;
|
|
13848
|
-
}, z$1.core.$strip>>>;
|
|
13849
|
-
text: z$1.ZodString;
|
|
13850
|
-
type: z$1.ZodLiteral<"text">;
|
|
13851
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13852
|
-
"agent-only": "agent-only";
|
|
13853
|
-
}>>;
|
|
13854
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13855
|
-
type: z$1.ZodLiteral<"image">;
|
|
13856
|
-
url: z$1.ZodString;
|
|
13857
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13858
|
-
"agent-only": "agent-only";
|
|
13859
|
-
}>>;
|
|
13860
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13861
|
-
path: z$1.ZodString;
|
|
13862
|
-
type: z$1.ZodLiteral<"localImage">;
|
|
13863
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13864
|
-
"agent-only": "agent-only";
|
|
13865
|
-
}>>;
|
|
13866
|
-
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
13867
|
-
mimeType: z$1.ZodOptional<z$1.ZodString>;
|
|
13868
|
-
name: z$1.ZodOptional<z$1.ZodString>;
|
|
13869
|
-
path: z$1.ZodString;
|
|
13870
|
-
sizeBytes: z$1.ZodOptional<z$1.ZodNumber>;
|
|
13871
|
-
type: z$1.ZodLiteral<"localFile">;
|
|
13872
|
-
visibility: z$1.ZodOptional<z$1.ZodEnum<{
|
|
13873
|
-
"agent-only": "agent-only";
|
|
13874
|
-
}>>;
|
|
13875
|
-
}, z$1.core.$strip>], "type">>>;
|
|
13876
13650
|
environment: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
|
|
13877
13651
|
baseBranch: z$1.ZodNullable<z$1.ZodString>;
|
|
13878
13652
|
branchName: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -13999,7 +13773,6 @@ declare const threadWithIncludesResponseSchema: z$1.ZodObject<{
|
|
|
13999
13773
|
queuedMessageCount: z$1.ZodNumber;
|
|
14000
13774
|
runtime: z$1.ZodObject<{
|
|
14001
13775
|
displayStatus: z$1.ZodEnum<{
|
|
14002
|
-
"host-reconnecting": "host-reconnecting";
|
|
14003
13776
|
"waiting-for-host": "waiting-for-host";
|
|
14004
13777
|
active: "active";
|
|
14005
13778
|
error: "error";
|
|
@@ -14009,7 +13782,6 @@ declare const threadWithIncludesResponseSchema: z$1.ZodObject<{
|
|
|
14009
13782
|
starting: "starting";
|
|
14010
13783
|
stopping: "stopping";
|
|
14011
13784
|
}>;
|
|
14012
|
-
hostReconnectGraceExpiresAt: z$1.ZodNullable<z$1.ZodNumber>;
|
|
14013
13785
|
}, z$1.core.$strip>;
|
|
14014
13786
|
sectionId: z$1.ZodNullable<z$1.ZodString>;
|
|
14015
13787
|
sourceThreadId: z$1.ZodNullable<z$1.ZodString>;
|
|
@@ -15730,6 +15502,9 @@ interface EnvironmentListProvidersArgs {
|
|
|
15730
15502
|
}
|
|
15731
15503
|
type EnvironmentListProvidersResult = SystemEnvironmentProvider[];
|
|
15732
15504
|
interface EnvironmentsArea {
|
|
15505
|
+
experimental_cleanup(args: EnvironmentActionArgs): Promise<{
|
|
15506
|
+
ok: true;
|
|
15507
|
+
}>;
|
|
15733
15508
|
archiveThreads(args: EnvironmentActionArgs): Promise<EnvironmentArchiveThreadsResult>;
|
|
15734
15509
|
commit(args: EnvironmentCommitArgs): Promise<EnvironmentCommitResult>;
|
|
15735
15510
|
diff(args: EnvironmentDiffArgs): Promise<EnvironmentDiffResult>;
|
|
@@ -15879,6 +15654,7 @@ type HostDeleteResult = {
|
|
|
15879
15654
|
type HostDirectoryResult = HostDirectoryListing;
|
|
15880
15655
|
type HostGetResult = Host & {
|
|
15881
15656
|
connectMachineId: string | null;
|
|
15657
|
+
threadStorageRootPath: string | null;
|
|
15882
15658
|
};
|
|
15883
15659
|
type HostEnrollmentCommandResult = HostEnrollmentCommandResponse;
|
|
15884
15660
|
type HostReconnectResult = HostReconnectResponse;
|
|
@@ -16549,6 +16325,9 @@ interface SystemArea {
|
|
|
16549
16325
|
testAiService(args: SystemTestAiServiceArgs): Promise<SystemTestAiServiceResult>;
|
|
16550
16326
|
transcribeVoice(args: SystemVoiceTranscriptionArgs): Promise<SystemVoiceTranscriptionResult>;
|
|
16551
16327
|
uiPreferences: SystemUiPreferencesArea;
|
|
16328
|
+
androidAppPreparation(): Promise<AndroidAppPreparation>;
|
|
16329
|
+
prepareAndroidApp(input: AndroidAppPrepareRequest): Promise<AndroidAppPreparation>;
|
|
16330
|
+
androidApp(): Promise<SystemAndroidAppResponse>;
|
|
16552
16331
|
updateExperiments(args: Experiments): Promise<SystemUpdateExperimentsResult>;
|
|
16553
16332
|
updateGeneralSettings(args: AppSettingsUpdate): Promise<SystemUpdateGeneralSettingsResult>;
|
|
16554
16333
|
updateKeyboardSettings(args: AppKeybindingOverrides): Promise<SystemUpdateKeyboardSettingsResult>;
|
|
@@ -16804,9 +16583,6 @@ interface ThreadForkArgs extends Omit<ForkThreadRequest, "origin" | "visibility"
|
|
|
16804
16583
|
interface ThreadUpdateArgs extends UpdateThreadRequest {
|
|
16805
16584
|
threadId: string;
|
|
16806
16585
|
}
|
|
16807
|
-
interface ThreadUpdateDraftArgs extends UpdateThreadDraftRequest {
|
|
16808
|
-
threadId: string;
|
|
16809
|
-
}
|
|
16810
16586
|
interface ThreadPluginMetadataArgs {
|
|
16811
16587
|
pluginId: string;
|
|
16812
16588
|
signal?: AbortSignal;
|
|
@@ -17090,12 +16866,6 @@ interface ThreadsArea {
|
|
|
17090
16866
|
unarchive(args: ThreadActionArgs): Promise<ThreadUnarchiveResult>;
|
|
17091
16867
|
unpin(args: ThreadActionArgs): Promise<ThreadMutationResult>;
|
|
17092
16868
|
update(args: ThreadUpdateArgs): Promise<ThreadMutationResult>;
|
|
17093
|
-
/**
|
|
17094
|
-
* Replace the thread's saved, unsent draft message. An empty `input` clears
|
|
17095
|
-
* it. On a `pending` thread the draft also becomes the thread's fallback
|
|
17096
|
-
* title. Sending a message does not clear the draft; clear it explicitly.
|
|
17097
|
-
*/
|
|
17098
|
-
updateDraft(args: ThreadUpdateDraftArgs): Promise<ThreadMutationResult>;
|
|
17099
16869
|
wait(args: ThreadWaitArgs): Promise<ThreadWaitResult>;
|
|
17100
16870
|
}
|
|
17101
16871
|
|
|
@@ -17267,7 +17037,7 @@ type ExperimentalSidebarNavigationAction = {
|
|
|
17267
17037
|
/**
|
|
17268
17038
|
* Semantic icon identity for one sidebar navigation item. Render it with
|
|
17269
17039
|
* {@link PluginSdkApp.experimental_SidebarNavigationIcon} to match bb's
|
|
17270
|
-
* artwork, including plugin branding.
|
|
17040
|
+
* artwork, including panel icons with plugin branding as their fallback.
|
|
17271
17041
|
*/
|
|
17272
17042
|
type ExperimentalSidebarNavigationIcon = {
|
|
17273
17043
|
kind: "host";
|
|
@@ -17793,6 +17563,7 @@ type ExperimentalPluginFixedTabReference<Target extends JsonValue$1 = never> = {
|
|
|
17793
17563
|
/** A fixed tab declared by a plugin nav panel. */
|
|
17794
17564
|
type PluginFixedTabRegistration<Target extends JsonValue$1 = never> = ExperimentalPluginFixedTabReference<Target> & {
|
|
17795
17565
|
title: string;
|
|
17566
|
+
/** Resolved names take precedence over plugin branding; unknown names fall back to branding. */
|
|
17796
17567
|
icon: BbIconName;
|
|
17797
17568
|
component: ComponentType<PluginNavPanelProps>;
|
|
17798
17569
|
/** `flush` lets the component own padding and scrolling. */
|
|
@@ -17804,6 +17575,7 @@ interface PluginNavPanelRegistration {
|
|
|
17804
17575
|
/** Unique within the plugin; letters, digits, `-`, `_`. */
|
|
17805
17576
|
id: string;
|
|
17806
17577
|
title: string;
|
|
17578
|
+
/** Resolved names take precedence over plugin branding in navigation and the header; unknown names fall back to branding. */
|
|
17807
17579
|
icon: BbIconName;
|
|
17808
17580
|
/** URL segment under `/plugins/<pluginId>/`; letters, digits, `-`, `_`. */
|
|
17809
17581
|
path: string;
|
|
@@ -17887,8 +17659,8 @@ interface PluginThreadPanelActionRegistration {
|
|
|
17887
17659
|
/** Label of the action row in the panel's new-tab launcher. */
|
|
17888
17660
|
title: string;
|
|
17889
17661
|
/**
|
|
17890
|
-
*
|
|
17891
|
-
*
|
|
17662
|
+
* Resolved names take precedence over plugin branding in the launcher and
|
|
17663
|
+
* opened tabs. Omitted or unknown names fall back to plugin branding.
|
|
17892
17664
|
*/
|
|
17893
17665
|
icon?: BbIconName;
|
|
17894
17666
|
/** Rendered inside every panel tab this action opens. */
|
|
@@ -17927,7 +17699,7 @@ interface PluginNewThreadPanelActionRegistration {
|
|
|
17927
17699
|
id: string;
|
|
17928
17700
|
/** Label of the action row in the panel's new-tab launcher. */
|
|
17929
17701
|
title: string;
|
|
17930
|
-
/**
|
|
17702
|
+
/** Resolved names take precedence over plugin branding; omitted or unknown names fall back to branding. */
|
|
17931
17703
|
icon?: BbIconName;
|
|
17932
17704
|
/** Rendered inside every panel tab this action opens. */
|
|
17933
17705
|
component: ComponentType<PluginNewThreadPanelProps>;
|
|
@@ -17972,7 +17744,7 @@ interface PluginSidebarFooterActionRegistration {
|
|
|
17972
17744
|
id: string;
|
|
17973
17745
|
/** Tooltip and accessible label for the icon button. */
|
|
17974
17746
|
title: string;
|
|
17975
|
-
/**
|
|
17747
|
+
/** Resolved names take precedence over plugin branding; omitted or unknown names fall back to branding. */
|
|
17976
17748
|
icon: BbIconName;
|
|
17977
17749
|
/**
|
|
17978
17750
|
* Runs when the user activates the action (e.g. call `openSettings()`,
|
|
@@ -18088,9 +17860,9 @@ interface PluginSidebarThread {
|
|
|
18088
17860
|
*/
|
|
18089
17861
|
status: ThreadStatus;
|
|
18090
17862
|
/**
|
|
18091
|
-
* `status` refined by host and environment state: adds "provisioning"
|
|
18092
|
-
* "
|
|
18093
|
-
*
|
|
17863
|
+
* `status` refined by host and environment state: adds "provisioning" and
|
|
17864
|
+
* "waiting-for-host" for a thread whose machine is not ready. Treat an
|
|
17865
|
+
* unknown value as `status`.
|
|
18094
17866
|
*/
|
|
18095
17867
|
runtimeStatus: ThreadRuntimeDisplayStatus;
|
|
18096
17868
|
/**
|
|
@@ -18357,7 +18129,7 @@ interface PluginSidebarThreadDraftState {
|
|
|
18357
18129
|
}
|
|
18358
18130
|
/**
|
|
18359
18131
|
* The status another plugin's app-wide script set on a thread's row through
|
|
18360
|
-
* `
|
|
18132
|
+
* the content-script context's `experimental_setThreadRowStatus` (see
|
|
18361
18133
|
* {@link PluginSdkApp.useSidebarThreadRowStatus}). bb's row draws it in
|
|
18362
18134
|
* place of the draft glyph while it is set; a replaced list should do the
|
|
18363
18135
|
* same so a status set by, say, the drafts or workflows plugin does not
|
|
@@ -18397,6 +18169,9 @@ interface PluginSidebarThreadActions {
|
|
|
18397
18169
|
* `sectionId` files the new thread under that section, and
|
|
18398
18170
|
* `environmentId` reuses that environment (the "New thread in
|
|
18399
18171
|
* environment" affordance), both exactly as bb's own list does.
|
|
18172
|
+
* `experimental_placement` explicitly selects the section and pin state,
|
|
18173
|
+
* overriding `sectionId`. Omitting placement starts unpinned, outside sections
|
|
18174
|
+
* unless `sectionId` is supplied; previous composer placement is cleared.
|
|
18400
18175
|
* `hostId` selects a machine for a new environment when it
|
|
18401
18176
|
* is known and supports an environment provider. `environmentId` wins when
|
|
18402
18177
|
* both are supplied.
|
|
@@ -18404,6 +18179,10 @@ interface PluginSidebarThreadActions {
|
|
|
18404
18179
|
openNewThread(options?: {
|
|
18405
18180
|
projectId?: string;
|
|
18406
18181
|
sectionId?: string;
|
|
18182
|
+
experimental_placement?: {
|
|
18183
|
+
sectionId: string | null;
|
|
18184
|
+
pinned: boolean;
|
|
18185
|
+
};
|
|
18407
18186
|
environmentId?: string;
|
|
18408
18187
|
hostId?: string;
|
|
18409
18188
|
focusPrompt?: boolean;
|
|
@@ -18692,12 +18471,19 @@ interface PluginMessageActionContext {
|
|
|
18692
18471
|
* is never thrown: the host logs it and reports it here.
|
|
18693
18472
|
*/
|
|
18694
18473
|
openPanel(options: PluginTargetedPanelActionOpenOptions): boolean;
|
|
18474
|
+
/**
|
|
18475
|
+
* The composer of the thread the message is in, or null when that thread's
|
|
18476
|
+
* composer is not available on this surface. The same handle
|
|
18477
|
+
* `useComposer()` returns there.
|
|
18478
|
+
*/
|
|
18479
|
+
composer: PluginComposerApi | null;
|
|
18695
18480
|
}
|
|
18696
18481
|
/**
|
|
18697
18482
|
* An action on chat messages: an icon button in the per-message action bar
|
|
18698
18483
|
* (user and assistant messages) and an entry in the assistant-message
|
|
18699
18484
|
* text-selection menu. Host-rendered chrome — the plugin supplies title,
|
|
18700
|
-
* icon
|
|
18485
|
+
* icon, and `run` behavior only. Resolved icon names take precedence over
|
|
18486
|
+
* plugin branding; omitted or unknown names fall back to branding.
|
|
18701
18487
|
*/
|
|
18702
18488
|
interface PluginMessageActionRegistration {
|
|
18703
18489
|
/** Unique within the plugin; letters, digits, `-`, `_`. */
|
|
@@ -19207,12 +18993,6 @@ type PluginComposerScope = {
|
|
|
19207
18993
|
kind: "queued-message";
|
|
19208
18994
|
threadId: string;
|
|
19209
18995
|
queuedMessageId: string;
|
|
19210
|
-
} | {
|
|
19211
|
-
kind: "side-chat";
|
|
19212
|
-
projectId: string;
|
|
19213
|
-
parentThreadId: string;
|
|
19214
|
-
tabId: string;
|
|
19215
|
-
childThreadId: string | null;
|
|
19216
18996
|
} | {
|
|
19217
18997
|
kind: "new-thread";
|
|
19218
18998
|
/** Root compose's effective selected project; null only while unresolved. */
|
|
@@ -19235,35 +19015,39 @@ interface ComposerCustomization {
|
|
|
19235
19015
|
component: ComponentType;
|
|
19236
19016
|
}[];
|
|
19237
19017
|
plusMenu?: readonly ComposerPlusMenuItem[];
|
|
19018
|
+
/** Host-rendered rows in the menu next to the composer's send button. */
|
|
19019
|
+
sendMenu?: readonly ComposerSendMenuItem[];
|
|
19238
19020
|
richText?: ComposerRichTextSpec;
|
|
19239
19021
|
}
|
|
19240
19022
|
/** Host-rendered menu row in the composer's `+` menu. */
|
|
19241
19023
|
interface ComposerPlusMenuItem {
|
|
19242
19024
|
id: string;
|
|
19243
19025
|
label: string;
|
|
19244
|
-
/**
|
|
19026
|
+
/** Takes precedence over the plugin's `bb.branding.icon`, which is drawn when this is omitted. */
|
|
19245
19027
|
icon?: BbIconName;
|
|
19246
19028
|
/** Accessible description for the host-rendered row. */
|
|
19247
19029
|
description?: string;
|
|
19248
|
-
disabled?: boolean | ((
|
|
19030
|
+
disabled?: boolean | ((composer: PluginComposerApi) => boolean);
|
|
19249
19031
|
run(context: {
|
|
19250
19032
|
composer: PluginComposerApi;
|
|
19251
|
-
view: ComposerView;
|
|
19252
19033
|
}): void | Promise<void>;
|
|
19253
19034
|
}
|
|
19254
|
-
/**
|
|
19255
|
-
|
|
19256
|
-
|
|
19257
|
-
|
|
19258
|
-
|
|
19259
|
-
|
|
19260
|
-
|
|
19261
|
-
|
|
19262
|
-
|
|
19263
|
-
|
|
19264
|
-
|
|
19265
|
-
|
|
19266
|
-
|
|
19035
|
+
/**
|
|
19036
|
+
* Host-rendered row in the menu next to the composer's send button, for
|
|
19037
|
+
* alternatives to sending right away (save as a draft, send later). The menu
|
|
19038
|
+
* shows only while the composer can submit.
|
|
19039
|
+
*/
|
|
19040
|
+
interface ComposerSendMenuItem {
|
|
19041
|
+
id: string;
|
|
19042
|
+
label: string;
|
|
19043
|
+
/** Takes precedence over the plugin's `bb.branding.icon`, which is drawn when this is omitted. */
|
|
19044
|
+
icon?: BbIconName;
|
|
19045
|
+
/** Accessible description for the host-rendered row. */
|
|
19046
|
+
description?: string;
|
|
19047
|
+
disabled?: boolean | ((composer: PluginComposerApi) => boolean);
|
|
19048
|
+
run(context: {
|
|
19049
|
+
composer: PluginComposerApi;
|
|
19050
|
+
}): void | Promise<void>;
|
|
19267
19051
|
}
|
|
19268
19052
|
interface ComposerRichTextSpec {
|
|
19269
19053
|
/** Content-derived paint: match ranges receive `className`; text is never mutated. */
|
|
@@ -19276,18 +19060,80 @@ interface ComposerRichTextSpec {
|
|
|
19276
19060
|
}[];
|
|
19277
19061
|
className: string;
|
|
19278
19062
|
}[];
|
|
19279
|
-
/** Debounced, read-only observation of the structured draft. */
|
|
19280
|
-
onDraftChange?(draft: ComposerStructuredDraft, view: ComposerView): void;
|
|
19281
19063
|
}
|
|
19282
|
-
|
|
19064
|
+
/** The composer's text and the @-mention pills in it. */
|
|
19065
|
+
interface ComposerDraft {
|
|
19283
19066
|
text: string;
|
|
19284
|
-
mentions: readonly
|
|
19285
|
-
|
|
19286
|
-
|
|
19287
|
-
|
|
19288
|
-
|
|
19289
|
-
|
|
19290
|
-
|
|
19067
|
+
mentions: readonly ComposerMention[];
|
|
19068
|
+
}
|
|
19069
|
+
/** An already uploaded attachment; paths retain their original project or thread ownership. */
|
|
19070
|
+
type ComposerAttachment = UploadedPromptAttachment;
|
|
19071
|
+
/** The complete current draft. Snapshots and their entries are immutable. */
|
|
19072
|
+
interface ComposerDraftSnapshot extends ComposerDraft {
|
|
19073
|
+
readonly attachments: readonly ComposerAttachment[];
|
|
19074
|
+
}
|
|
19075
|
+
/** Atomic text and mention replacement, optionally replacing uploaded attachments too. */
|
|
19076
|
+
interface ComposerDraftReplacement extends ComposerDraft {
|
|
19077
|
+
/** Omit to preserve attachments; supply an empty array to remove them all. Does not upload or copy files. */
|
|
19078
|
+
attachments?: readonly ComposerAttachment[];
|
|
19079
|
+
}
|
|
19080
|
+
/**
|
|
19081
|
+
* One @-mention pill: its range in `ComposerDraft.text` plus everything the
|
|
19082
|
+
* host needs to recreate it, so a mention read from `draft` can be passed
|
|
19083
|
+
* back to `insert` unchanged.
|
|
19084
|
+
*/
|
|
19085
|
+
type ComposerMention = {
|
|
19086
|
+
from: number;
|
|
19087
|
+
to: number;
|
|
19088
|
+
label: string;
|
|
19089
|
+
} & ({
|
|
19090
|
+
kind: "thread";
|
|
19091
|
+
threadId: string;
|
|
19092
|
+
projectId?: string;
|
|
19093
|
+
} | {
|
|
19094
|
+
kind: "project";
|
|
19095
|
+
projectId: string;
|
|
19096
|
+
} | {
|
|
19097
|
+
kind: "section";
|
|
19098
|
+
sectionId: string;
|
|
19099
|
+
} | {
|
|
19100
|
+
kind: "path";
|
|
19101
|
+
path: string;
|
|
19102
|
+
source: "thread-storage" | "workspace";
|
|
19103
|
+
entryKind: "directory" | "file";
|
|
19104
|
+
} | {
|
|
19105
|
+
kind: "command";
|
|
19106
|
+
trigger: "$" | "/";
|
|
19107
|
+
name: string;
|
|
19108
|
+
source: "command" | "skill";
|
|
19109
|
+
origin: "builtin" | "project" | "user";
|
|
19110
|
+
argumentHint: string | null;
|
|
19111
|
+
} | {
|
|
19112
|
+
kind: "plugin";
|
|
19113
|
+
/** The plugin that owns the pill. */
|
|
19114
|
+
pluginId: string;
|
|
19115
|
+
/** The mention provider id that plugin registered. */
|
|
19116
|
+
provider: string;
|
|
19117
|
+
/** The item id the provider's `resolve` receives at send time. */
|
|
19118
|
+
id: string;
|
|
19119
|
+
icon?: string | null;
|
|
19120
|
+
});
|
|
19121
|
+
/**
|
|
19122
|
+
* What `insert` accepts: text, a mention read from `draft` (any kind), or one
|
|
19123
|
+
* of the calling plugin's own mentions (`{ provider, id, label }`, no `kind`).
|
|
19124
|
+
*/
|
|
19125
|
+
type ComposerInsertPart = string | ComposerMention | PluginComposerMention;
|
|
19126
|
+
/** Where `insert` puts its content. */
|
|
19127
|
+
interface ComposerInsertOptions {
|
|
19128
|
+
/**
|
|
19129
|
+
* `"cursor"` (default) inserts at the editor's selection, replacing any
|
|
19130
|
+
* selected text; the selection is kept while focus is elsewhere, and the
|
|
19131
|
+
* composer must be on screen. `"end"` inserts after the last character and
|
|
19132
|
+
* also works for a composer that is not on screen.
|
|
19133
|
+
*/
|
|
19134
|
+
at?: "cursor" | "end";
|
|
19135
|
+
/** Put the content on its own paragraph, adding a paragraph break before and after only where text is adjacent. */
|
|
19136
|
+
block?: boolean;
|
|
19291
19137
|
}
|
|
19292
19138
|
/** Host-rendered paint applied to the editable composer text. */
|
|
19293
19139
|
interface PluginComposerTextEffect {
|
|
@@ -19319,31 +19165,77 @@ interface PluginComposerMention {
|
|
|
19319
19165
|
label: string;
|
|
19320
19166
|
}
|
|
19321
19167
|
/**
|
|
19322
|
-
*
|
|
19323
|
-
*
|
|
19324
|
-
*
|
|
19325
|
-
*
|
|
19326
|
-
* draft.
|
|
19327
|
-
*
|
|
19328
|
-
*
|
|
19168
|
+
* One composer: its state and the writes a plugin can make. `useComposer()`
|
|
19169
|
+
* returns the composer the calling surface belongs to — inside a composer
|
|
19170
|
+
* slot, that composer; in a thread's panels, that thread's composer;
|
|
19171
|
+
* elsewhere, the current route's draft (the thread in view, or the new-thread
|
|
19172
|
+
* draft).
|
|
19173
|
+
*
|
|
19174
|
+
* The handle is stable: the same composer returns the same object across
|
|
19175
|
+
* renders, and its methods always act on the current draft, so it is safe to
|
|
19176
|
+
* keep in effects, callbacks and async work. Its reactive fields (`text`,
|
|
19177
|
+
* `draft`, `selection`, `isEmpty`, …) re-render the calling component when they change;
|
|
19178
|
+
* depend on those fields, not on the handle, in memo dependency lists.
|
|
19179
|
+
*
|
|
19180
|
+
* A handle always writes to its own composer's draft. Thread and new-thread
|
|
19181
|
+
* drafts persist, so a write after the composer left the screen still lands
|
|
19182
|
+
* in that draft. When the draft no longer exists (a queued-message or
|
|
19183
|
+
* sent-message editor that closed), `insert`, `replace`, `removeMention`, `submit` and
|
|
19184
|
+
* `setSelection` throw "This composer is no longer available"; the older
|
|
19185
|
+
* text methods log a warning and do nothing.
|
|
19329
19186
|
*/
|
|
19330
19187
|
interface PluginComposerApi {
|
|
19331
19188
|
scope: PluginComposerScope;
|
|
19189
|
+
/**
|
|
19190
|
+
* Stable identity for this composer's draft: the same across remounts and
|
|
19191
|
+
* reloads for thread and new-thread composers (including a `ThreadChat`),
|
|
19192
|
+
* and per editing session for queued-message and sent-message editors.
|
|
19193
|
+
*/
|
|
19194
|
+
readonly key: string;
|
|
19195
|
+
/** `"compact"` in the collapsed single-line layout, otherwise `"expanded"`. */
|
|
19196
|
+
readonly layout: "compact" | "expanded";
|
|
19197
|
+
/** The thread's agent is running or stopping. Always false in a new-thread composer. */
|
|
19198
|
+
readonly isRunning: boolean;
|
|
19199
|
+
/** The composer is submitting right now. */
|
|
19200
|
+
readonly isSubmitting: boolean;
|
|
19201
|
+
/**
|
|
19202
|
+
* Pressing Enter would not submit right now: the same decision as the
|
|
19203
|
+
* host's send button (empty draft, uploads in progress, loading, a
|
|
19204
|
+
* selection or setup missing, a pending interaction, voice input, …).
|
|
19205
|
+
*/
|
|
19206
|
+
readonly isSubmittingBlocked: boolean;
|
|
19207
|
+
/** The host's message for why submitting is blocked, or null when it is not. */
|
|
19208
|
+
readonly submittingBlockedReason: string | null;
|
|
19209
|
+
/** No text (ignoring whitespace), no mentions and no attachments. */
|
|
19210
|
+
readonly isEmpty: boolean;
|
|
19211
|
+
/** Attachments that have finished uploading. */
|
|
19212
|
+
readonly attachmentCount: number;
|
|
19332
19213
|
/** Current plain text for this composer scope. */
|
|
19333
19214
|
readonly text: string;
|
|
19215
|
+
/** The complete current draft, including uploaded attachments. Stable until the draft changes. */
|
|
19216
|
+
readonly draft: ComposerDraftSnapshot;
|
|
19217
|
+
/** Current picker values, or null when this composer has no pickers. Stable until a picker value changes. */
|
|
19218
|
+
readonly selection: ComposerSelection | null;
|
|
19334
19219
|
/**
|
|
19335
|
-
* Replace
|
|
19336
|
-
*
|
|
19337
|
-
*
|
|
19220
|
+
* Replace text and mentions together in one committed change. An updater
|
|
19221
|
+
* receives the latest immutable snapshot, including attachments, and must
|
|
19222
|
+
* return its result synchronously. Returning that same snapshot is a no-op.
|
|
19223
|
+
* Omitted attachments are preserved; an explicit list replaces them, and
|
|
19224
|
+
* an empty list clears them. Does not infer or rebase mention ranges.
|
|
19225
|
+
* Ranges are non-overlapping UTF-16 offsets into the supplied text.
|
|
19226
|
+
* Invalid results, throwing updaters, and unavailable editors leave the
|
|
19227
|
+
* draft unchanged. Does not focus, submit, upload, or copy files between
|
|
19228
|
+
* projects. Use `insert` for insertion at the editor's cursor.
|
|
19338
19229
|
*/
|
|
19339
|
-
|
|
19230
|
+
replace(next: ComposerDraftReplacement | ((current: ComposerDraftSnapshot) => ComposerDraftReplacement)): void;
|
|
19340
19231
|
/**
|
|
19341
|
-
*
|
|
19342
|
-
*
|
|
19232
|
+
* Insert text and mentions. See {@link ComposerInsertOptions} for placement.
|
|
19233
|
+
* Mentions read from `draft` are recreated exactly; the calling plugin's
|
|
19234
|
+
* own `{ provider, id, label }` resolves through its mention provider.
|
|
19235
|
+
* Throws for another plugin's mention without `kind`, and for
|
|
19236
|
+
* `at: "cursor"` when the composer is not on screen.
|
|
19343
19237
|
*/
|
|
19344
|
-
|
|
19345
|
-
/** Clear plain text without clearing independently attached files. */
|
|
19346
|
-
clear(): void;
|
|
19238
|
+
insert(parts: ComposerInsertPart | readonly ComposerInsertPart[], options?: ComposerInsertOptions): void;
|
|
19347
19239
|
/**
|
|
19348
19240
|
* Apply a host-rendered effect to this composer's editable text, or clear it.
|
|
19349
19241
|
* Effects are scoped to the calling plugin and automatically clear when the
|
|
@@ -19356,38 +19248,22 @@ interface PluginComposerApi {
|
|
|
19356
19248
|
* scope changes.
|
|
19357
19249
|
*/
|
|
19358
19250
|
setInputLock(locked: boolean): void;
|
|
19359
|
-
/**
|
|
19360
|
-
* Append text to the draft as a `> ` blockquote block and focus the
|
|
19361
|
-
* composer. Blank text is a no-op. This is the "reference this selection
|
|
19362
|
-
* in chat" primitive.
|
|
19363
|
-
*/
|
|
19364
|
-
addQuote(text: string): void;
|
|
19365
|
-
/**
|
|
19366
|
-
* Insert an @-mention pill that resolves through this plugin's mention
|
|
19367
|
-
* provider at send time — the durable way to reference an entity whose
|
|
19368
|
-
* content should be fetched fresh when the message is sent.
|
|
19369
|
-
*/
|
|
19370
|
-
insertMention(mention: PluginComposerMention): void;
|
|
19371
|
-
/** Remove this plugin's matching mention pills and their text from the current draft. */
|
|
19372
|
-
experimental_removeMention(mention: {
|
|
19373
|
-
provider: string;
|
|
19374
|
-
id: string;
|
|
19375
|
-
}): void;
|
|
19376
19251
|
/** Subscribe to successful local submissions in this composer scope, including accepted queued messages. Failed sends and draft clearing do not notify. Dispose on unmount. */
|
|
19377
|
-
|
|
19252
|
+
onSubmitted(listener: () => void): () => void;
|
|
19378
19253
|
/** Focus the composer caret at the end of the draft. */
|
|
19379
19254
|
focus(): void;
|
|
19380
19255
|
/**
|
|
19381
|
-
* Submit this composer's draft
|
|
19382
|
-
*
|
|
19383
|
-
*
|
|
19384
|
-
* This is a real submission, not a plugin-issued send: the host builds the
|
|
19385
|
-
* request exactly as pressing Enter would, so the draft's attachments and
|
|
19256
|
+
* Submit this composer's draft exactly as pressing Enter would: the same
|
|
19257
|
+
* checks and the same action (send, or queue while the thread is busy; a
|
|
19258
|
+
* provider handoff creates a new thread). The draft's attachments and
|
|
19386
19259
|
* @-mentions, and — in the new-thread composer — the provider, model,
|
|
19387
19260
|
* reasoning level, service tier, permission mode and environment the user
|
|
19388
|
-
* has selected on screen, all travel with it.
|
|
19389
|
-
*
|
|
19390
|
-
*
|
|
19261
|
+
* has selected on screen, all travel with it.
|
|
19262
|
+
*
|
|
19263
|
+
* While attachments are uploading it waits for them, then checks again; it
|
|
19264
|
+
* rejects if an upload fails. Otherwise, when submitting is blocked it
|
|
19265
|
+
* rejects with `submittingBlockedReason`, a message safe to show to the
|
|
19266
|
+
* user. The queued-message and sent-message editors save edits and reject.
|
|
19391
19267
|
*
|
|
19392
19268
|
* `sendAt` queues the submission until that time. `experimental_data` is
|
|
19393
19269
|
* opaque JSON delivered to dispatch hooks together with the calling plugin's
|
|
@@ -19396,16 +19272,10 @@ interface PluginComposerApi {
|
|
|
19396
19272
|
* later attempts; core does not persist or interpret the opaque data.
|
|
19397
19273
|
*
|
|
19398
19274
|
* Resolves once the host has accepted the submission and cleared the draft.
|
|
19399
|
-
* Rejects when the composer refused to submit — a scope with no submit
|
|
19400
|
-
* pipeline (a queued-message editor, a side chat), an empty draft, or a
|
|
19401
|
-
* composer that is not ready (still loading its execution defaults, missing
|
|
19402
|
-
* an environment). The rejection's message is safe to show to the user.
|
|
19403
19275
|
* Failures of the underlying request are reported by bb's own submit error
|
|
19404
19276
|
* handling and restore the draft, exactly as an interactive failure does.
|
|
19405
|
-
*
|
|
19406
|
-
* Experimental: see docs/api_to_audit.md.
|
|
19407
19277
|
*/
|
|
19408
|
-
|
|
19278
|
+
submit(options: ComposerSubmitOptions): Promise<void>;
|
|
19409
19279
|
/**
|
|
19410
19280
|
* Set this composer's pickers as if each value had been picked by hand.
|
|
19411
19281
|
*
|
|
@@ -19452,18 +19322,15 @@ interface PluginComposerApi {
|
|
|
19452
19322
|
* mounted outside any composer), when the calling surface is no longer
|
|
19453
19323
|
* active, and when a value is not a known reasoning level, service tier or
|
|
19454
19324
|
* permission mode.
|
|
19455
|
-
*
|
|
19456
|
-
* Experimental: see docs/api_to_audit.md.
|
|
19457
19325
|
*/
|
|
19458
|
-
|
|
19326
|
+
setSelection(selection: ComposerSelection): Promise<ComposerSelection>;
|
|
19459
19327
|
}
|
|
19460
19328
|
/**
|
|
19461
|
-
*
|
|
19462
|
-
* with. Field names match `NewThreadRequest` and the `default*` props of
|
|
19329
|
+
* Current picker values in `selection`, input for `setSelection`, and the shape it resolves with. Field names match `NewThreadRequest` and the `default*` props of
|
|
19463
19330
|
* `experimental_NewThreadComposer`, so one routed decision can feed the
|
|
19464
19331
|
* composer, the embedded composer and `bb.sdk.threads.spawn` alike.
|
|
19465
19332
|
*/
|
|
19466
|
-
interface
|
|
19333
|
+
interface ComposerSelection {
|
|
19467
19334
|
/** New-thread composers only. BB's personal-project id means "Don't work in a project". */
|
|
19468
19335
|
projectId?: string;
|
|
19469
19336
|
/**
|
|
@@ -19484,13 +19351,13 @@ interface ExperimentalComposerSelection {
|
|
|
19484
19351
|
permissionMode?: PermissionMode;
|
|
19485
19352
|
}
|
|
19486
19353
|
/**
|
|
19487
|
-
* What `
|
|
19354
|
+
* What `submit` does differently from pressing Enter.
|
|
19488
19355
|
*
|
|
19489
19356
|
* `experimental_data` is opaque JSON delivered to dispatch hooks. The runtime
|
|
19490
19357
|
* associates it with the calling plugin automatically for the initial
|
|
19491
19358
|
* dispatch attempt.
|
|
19492
19359
|
*/
|
|
19493
|
-
type
|
|
19360
|
+
type ComposerSubmitOptions = {
|
|
19494
19361
|
sendAt: number;
|
|
19495
19362
|
experimental_data?: JsonValue$1;
|
|
19496
19363
|
} | {
|
|
@@ -19715,7 +19582,7 @@ interface NewThreadRequest {
|
|
|
19715
19582
|
input: PromptInput[];
|
|
19716
19583
|
/**
|
|
19717
19584
|
* Epoch ms the first turn should dispatch at. Present only when the
|
|
19718
|
-
* submission came from `useComposer().
|
|
19585
|
+
* submission came from `useComposer().submit` — a scheduled
|
|
19719
19586
|
* create — and absent otherwise, which is what makes an ordinary submission
|
|
19720
19587
|
* start work at once. Forward it to `threads.spawn` unchanged: the thread is
|
|
19721
19588
|
* created `pending` and its first message is queued as a row until then.
|
|
@@ -20019,6 +19886,20 @@ interface PluginSdkApp {
|
|
|
20019
19886
|
/** Read or clear the owning tab's validated, session-scoped target. */
|
|
20020
19887
|
experimental_useFixedTabTarget<Target extends JsonValue$1>(tab: ExperimentalPluginFixedTabReference<Target>): ExperimentalFixedTabTargetState<Target> | null;
|
|
20021
19888
|
useComposer(): PluginComposerApi;
|
|
19889
|
+
/**
|
|
19890
|
+
* Every composer on screen that plugin composer customizations mount in,
|
|
19891
|
+
* oldest first: the thread page's composer, a `ThreadChat`'s composer, the
|
|
19892
|
+
* new-thread composer and open queued-message editors. Use it from a panel
|
|
19893
|
+
* or page that writes into a composer the user picks — label each by its
|
|
19894
|
+
* `scope`, then call `insert`, `focus` or `submit` on the chosen handle.
|
|
19895
|
+
*
|
|
19896
|
+
* Each handle is stable while its composer stays on screen and follows the
|
|
19897
|
+
* same lifetime rule as `useComposer()`. `setTextEffect` and `setInputLock`
|
|
19898
|
+
* have no effect here; call them from a composer slot's `useComposer()`.
|
|
19899
|
+
* The calling component re-renders when the list or any listed draft
|
|
19900
|
+
* changes.
|
|
19901
|
+
*/
|
|
19902
|
+
useComposers(): readonly PluginComposerApi[];
|
|
20022
19903
|
/**
|
|
20023
19904
|
* The sidebar's live thread view (see {@link PluginSidebarThreadsState}).
|
|
20024
19905
|
* Reads the host's own cache and realtime subscriptions, so it costs no
|
|
@@ -20079,7 +19960,7 @@ interface PluginSdkApp {
|
|
|
20079
19960
|
experimental_useSidebarNavigationSplit(itemId: string, options?: ExperimentalSidebarNavigationSplitOptions): ExperimentalSidebarNavigationSplit;
|
|
20080
19961
|
/**
|
|
20081
19962
|
* bb's artwork for a navigation item's icon: bb's glyphs for its own items,
|
|
20082
|
-
* and the
|
|
19963
|
+
* and the panel's explicit icon, falling back to plugin branding, for plugin panels. Experimental:
|
|
20083
19964
|
* see docs/api_to_audit.md.
|
|
20084
19965
|
*/
|
|
20085
19966
|
experimental_SidebarNavigationIcon: ComponentType<ExperimentalSidebarNavigationIconProps>;
|
|
@@ -20239,7 +20120,6 @@ interface PluginSdkApp {
|
|
|
20239
20120
|
* docs/api_to_audit.md.
|
|
20240
20121
|
*/
|
|
20241
20122
|
experimental_Diff: ComponentType<DiffProps>;
|
|
20242
|
-
useComposerView(): ComposerView;
|
|
20243
20123
|
}
|
|
20244
20124
|
|
|
20245
20125
|
declare const experimental_Icon: react.ComponentType<ExperimentalIconProps>;
|
|
@@ -20268,7 +20148,7 @@ declare const useBbNavigate: () => BbNavigate;
|
|
|
20268
20148
|
declare const experimental_useAppPanel: () => ExperimentalAppPanel;
|
|
20269
20149
|
declare const experimental_useFixedTabTarget: <Target extends JsonValue$1>(tab: ExperimentalPluginFixedTabReference<Target>) => ExperimentalFixedTabTargetState<Target> | null;
|
|
20270
20150
|
declare const useComposer: () => PluginComposerApi;
|
|
20271
|
-
declare const
|
|
20151
|
+
declare const useComposers: () => readonly PluginComposerApi[];
|
|
20272
20152
|
declare const experimental_useSidebarThreads: (options?: {
|
|
20273
20153
|
experimental_lifecycles: readonly ("active" | "archived")[];
|
|
20274
20154
|
}) => PluginSidebarThreadsState;
|
|
@@ -20290,5 +20170,5 @@ declare const useSdk: () => PluginBrowserBbSdk;
|
|
|
20290
20170
|
declare const experimental_useProviders: () => PluginProvidersState;
|
|
20291
20171
|
declare const experimental_useCodeTheme: () => PluginCodeThemeState;
|
|
20292
20172
|
|
|
20293
|
-
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,
|
|
20294
|
-
export type { BbContext, BbNavigate, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerCustomization, ComposerPlusMenuItem, ComposerRichTextSpec,
|
|
20173
|
+
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 };
|
|
20174
|
+
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, 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 };
|