@get-bb/plugin-sdk 0.5.27 → 0.5.30

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.
@@ -45,6 +45,7 @@ interface ProviderNativeRootsInputLike {
45
45
  }
46
46
 
47
47
  declare const appSettingsSchema: z$1.ZodObject<{
48
+ allowFastServiceTier: z$1.ZodBoolean;
48
49
  defaultMachineAccess: z$1.ZodNullable<z$1.ZodString>;
49
50
  defaultProviderId: z$1.ZodNullable<z$1.ZodString>;
50
51
  machineGitCredentialsEnabled: z$1.ZodBoolean;
@@ -63,6 +64,7 @@ declare const appSettingsSchema: z$1.ZodObject<{
63
64
  }, z$1.core.$strict>;
64
65
  type AppSettings = z$1.infer<typeof appSettingsSchema>;
65
66
  declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
67
+ allowFastServiceTier: z$1.ZodOptional<z$1.ZodBoolean>;
66
68
  defaultMachineAccess: z$1.ZodNullable<z$1.ZodString>;
67
69
  defaultProviderId: z$1.ZodNullable<z$1.ZodString>;
68
70
  machineGitCredentialsEnabled: z$1.ZodBoolean;
@@ -80,6 +82,7 @@ declare const appSettingsUpdateSchema: z$1.ZodUnion<readonly [z$1.ZodObject<{
80
82
  streamerMode: z$1.ZodBoolean;
81
83
  telemetryEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
82
84
  }, z$1.core.$strict>, z$1.ZodObject<{
85
+ allowFastServiceTier: z$1.ZodOptional<z$1.ZodBoolean>;
83
86
  defaultMachineAccess: z$1.ZodNullable<z$1.ZodString>;
84
87
  defaultProviderId: z$1.ZodNullable<z$1.ZodString>;
85
88
  machineGitCredentialsEnabled: z$1.ZodBoolean;
@@ -287,6 +290,7 @@ type AppThemeSelection = z$1.infer<typeof appThemeSelectionSchema>;
287
290
  declare const changedMessageSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
288
291
  changes: z$1.ZodReadonly<z$1.ZodArray<z$1.ZodEnum<{
289
292
  "archived-changed": "archived-changed";
293
+ "draft-changed": "draft-changed";
290
294
  "environment-changed": "environment-changed";
291
295
  "events-appended": "events-appended";
292
296
  "history-rewritten": "history-rewritten";
@@ -483,6 +487,7 @@ type Environment = z$1.infer<typeof environmentSchema>;
483
487
 
484
488
  declare const experimentsSchema: z$1.ZodRecord<z$1.ZodEnum<{
485
489
  changelogPreview: "changelogPreview";
490
+ legacyJitiPluginLoader: "legacyJitiPluginLoader";
486
491
  mobileApp: "mobileApp";
487
492
  serverMove: "serverMove";
488
493
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
@@ -3054,11 +3059,45 @@ declare const threadEventSchema: z$1.ZodPipe<z$1.ZodUnknown, z$1.ZodUnion<readon
3054
3059
  }>>;
3055
3060
  systemMessageSubject: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
3056
3061
  kind: z$1.ZodLiteral<"thread">;
3062
+ outcomes: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
3063
+ interruption: z$1.ZodOptional<z$1.ZodObject<{
3064
+ cause: z$1.ZodOptional<z$1.ZodLiteral<"host-connection-lost">>;
3065
+ reason: z$1.ZodEnum<{
3066
+ "host-daemon-restarted": "host-daemon-restarted";
3067
+ "host-removed": "host-removed";
3068
+ "manual-stop": "manual-stop";
3069
+ "provider-turn-idle": "provider-turn-idle";
3070
+ }>;
3071
+ }, z$1.core.$strip>>;
3072
+ status: z$1.ZodEnum<{
3073
+ completed: "completed";
3074
+ failed: "failed";
3075
+ interrupted: "interrupted";
3076
+ }>;
3077
+ threadId: z$1.ZodString;
3078
+ }, z$1.core.$strip>>>;
3057
3079
  threadId: z$1.ZodString;
3058
3080
  threadName: z$1.ZodString;
3059
3081
  }, z$1.core.$strip>, z$1.ZodObject<{
3060
3082
  count: z$1.ZodNumber;
3061
3083
  kind: z$1.ZodLiteral<"thread-batch">;
3084
+ outcomes: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
3085
+ interruption: z$1.ZodOptional<z$1.ZodObject<{
3086
+ cause: z$1.ZodOptional<z$1.ZodLiteral<"host-connection-lost">>;
3087
+ reason: z$1.ZodEnum<{
3088
+ "host-daemon-restarted": "host-daemon-restarted";
3089
+ "host-removed": "host-removed";
3090
+ "manual-stop": "manual-stop";
3091
+ "provider-turn-idle": "provider-turn-idle";
3092
+ }>;
3093
+ }, z$1.core.$strip>>;
3094
+ status: z$1.ZodEnum<{
3095
+ completed: "completed";
3096
+ failed: "failed";
3097
+ interrupted: "interrupted";
3098
+ }>;
3099
+ threadId: z$1.ZodString;
3100
+ }, z$1.core.$strip>>>;
3062
3101
  }, z$1.core.$strip>, z$1.ZodObject<{
3063
3102
  kind: z$1.ZodLiteral<"tool-call">;
3064
3103
  suppress: z$1.ZodBoolean;
@@ -7864,6 +7903,22 @@ declare const hostDaemonCommandRegistry: {
7864
7903
  sha256: z$1.ZodString;
7865
7904
  sizeBytes: z$1.ZodNumber;
7866
7905
  }, z$1.core.$strip>]>, "onlineRpc", true>;
7906
+ "host.read_file_chunk": HostDaemonCommandDescriptor<"host.read_file_chunk", z$1.ZodObject<{
7907
+ length: z$1.ZodNumber;
7908
+ offset: z$1.ZodNumber;
7909
+ path: z$1.ZodString;
7910
+ revision: z$1.ZodNullable<z$1.ZodString>;
7911
+ rootPath: z$1.ZodString;
7912
+ type: z$1.ZodLiteral<"host.read_file_chunk">;
7913
+ }, z$1.core.$strict>, z$1.ZodObject<{
7914
+ content: z$1.ZodString;
7915
+ mimeType: z$1.ZodNullable<z$1.ZodString>;
7916
+ modifiedAtMs: z$1.ZodNumber;
7917
+ offset: z$1.ZodNumber;
7918
+ path: z$1.ZodString;
7919
+ revision: z$1.ZodString;
7920
+ sizeBytes: z$1.ZodNumber;
7921
+ }, z$1.core.$strict>, "onlineRpc", true>;
7867
7922
  "host.read_file_relative": HostDaemonCommandDescriptor<"host.read_file_relative", z$1.ZodObject<{
7868
7923
  dotfiles: z$1.ZodEnum<{
7869
7924
  allow: "allow";
@@ -10165,6 +10220,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10165
10220
  }, z$1.core.$strict>>;
10166
10221
  experiments: z$1.ZodRecord<z$1.ZodEnum<{
10167
10222
  changelogPreview: "changelogPreview";
10223
+ legacyJitiPluginLoader: "legacyJitiPluginLoader";
10168
10224
  mobileApp: "mobileApp";
10169
10225
  serverMove: "serverMove";
10170
10226
  sidebarProgressiveDisclosure: "sidebarProgressiveDisclosure";
@@ -10174,6 +10230,7 @@ declare const systemConfigResponseSchema: z$1.ZodObject<{
10174
10230
  timelineWindowEventBudget: z$1.ZodNumber;
10175
10231
  }, z$1.core.$strip>;
10176
10232
  generalSettings: z$1.ZodObject<{
10233
+ allowFastServiceTier: z$1.ZodBoolean;
10177
10234
  defaultMachineAccess: z$1.ZodNullable<z$1.ZodString>;
10178
10235
  defaultProviderId: z$1.ZodNullable<z$1.ZodString>;
10179
10236
  machineGitCredentialsEnabled: z$1.ZodBoolean;
@@ -10905,11 +10962,45 @@ declare const timelineConversationRowSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodO
10905
10962
  }>;
10906
10963
  systemMessageSubject: z$1.ZodNullable<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
10907
10964
  kind: z$1.ZodLiteral<"thread">;
10965
+ outcomes: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
10966
+ interruption: z$1.ZodOptional<z$1.ZodObject<{
10967
+ cause: z$1.ZodOptional<z$1.ZodLiteral<"host-connection-lost">>;
10968
+ reason: z$1.ZodEnum<{
10969
+ "host-daemon-restarted": "host-daemon-restarted";
10970
+ "host-removed": "host-removed";
10971
+ "manual-stop": "manual-stop";
10972
+ "provider-turn-idle": "provider-turn-idle";
10973
+ }>;
10974
+ }, z$1.core.$strip>>;
10975
+ status: z$1.ZodEnum<{
10976
+ completed: "completed";
10977
+ failed: "failed";
10978
+ interrupted: "interrupted";
10979
+ }>;
10980
+ threadId: z$1.ZodString;
10981
+ }, z$1.core.$strip>>>;
10908
10982
  threadId: z$1.ZodString;
10909
10983
  threadName: z$1.ZodString;
10910
10984
  }, z$1.core.$strip>, z$1.ZodObject<{
10911
10985
  count: z$1.ZodNumber;
10912
10986
  kind: z$1.ZodLiteral<"thread-batch">;
10987
+ outcomes: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
10988
+ interruption: z$1.ZodOptional<z$1.ZodObject<{
10989
+ cause: z$1.ZodOptional<z$1.ZodLiteral<"host-connection-lost">>;
10990
+ reason: z$1.ZodEnum<{
10991
+ "host-daemon-restarted": "host-daemon-restarted";
10992
+ "host-removed": "host-removed";
10993
+ "manual-stop": "manual-stop";
10994
+ "provider-turn-idle": "provider-turn-idle";
10995
+ }>;
10996
+ }, z$1.core.$strip>>;
10997
+ status: z$1.ZodEnum<{
10998
+ completed: "completed";
10999
+ failed: "failed";
11000
+ interrupted: "interrupted";
11001
+ }>;
11002
+ threadId: z$1.ZodString;
11003
+ }, z$1.core.$strip>>>;
10913
11004
  }, z$1.core.$strip>, z$1.ZodObject<{
10914
11005
  kind: z$1.ZodLiteral<"tool-call">;
10915
11006
  suppress: z$1.ZodBoolean;
@@ -11943,6 +12034,7 @@ declare const createExecutionInputSourcesSchema: z$1.ZodObject<{
11943
12034
  }, z$1.core.$strict>;
11944
12035
  type CreateExecutionInputSources = z$1.infer<typeof createExecutionInputSourcesSchema>;
11945
12036
  declare const createThreadRequestSchema: z$1.ZodObject<{
12037
+ draft: z$1.ZodOptional<z$1.ZodBoolean>;
11946
12038
  environment: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
11947
12039
  environmentId: z$1.ZodString;
11948
12040
  type: z$1.ZodLiteral<"reuse">;
@@ -12977,6 +13069,91 @@ declare const createQueuedMessageRequestSchema: z$1.ZodObject<{
12977
13069
  }>>;
12978
13070
  }, z$1.core.$strip>;
12979
13071
  type CreateQueuedMessageRequest = z$1.infer<typeof createQueuedMessageRequestSchema>;
13072
+ declare const updateThreadDraftRequestSchema: z$1.ZodObject<{
13073
+ input: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
13074
+ mentions: z$1.ZodDefault<z$1.ZodArray<z$1.ZodObject<{
13075
+ end: z$1.ZodNumber;
13076
+ resource: z$1.ZodPipe<z$1.ZodTransform<unknown, unknown>, z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
13077
+ kind: z$1.ZodLiteral<"thread">;
13078
+ label: z$1.ZodString;
13079
+ projectId: z$1.ZodOptional<z$1.ZodString>;
13080
+ threadId: z$1.ZodString;
13081
+ }, z$1.core.$strip>, z$1.ZodObject<{
13082
+ kind: z$1.ZodLiteral<"project">;
13083
+ label: z$1.ZodString;
13084
+ projectId: z$1.ZodString;
13085
+ }, z$1.core.$strip>, z$1.ZodObject<{
13086
+ kind: z$1.ZodLiteral<"section">;
13087
+ label: z$1.ZodString;
13088
+ sectionId: z$1.ZodString;
13089
+ }, z$1.core.$strip>, z$1.ZodObject<{
13090
+ entryKind: z$1.ZodEnum<{
13091
+ directory: "directory";
13092
+ file: "file";
13093
+ }>;
13094
+ kind: z$1.ZodLiteral<"path">;
13095
+ label: z$1.ZodString;
13096
+ path: z$1.ZodString;
13097
+ source: z$1.ZodEnum<{
13098
+ "thread-storage": "thread-storage";
13099
+ workspace: "workspace";
13100
+ }>;
13101
+ }, z$1.core.$strip>, z$1.ZodObject<{
13102
+ argumentHint: z$1.ZodNullable<z$1.ZodString>;
13103
+ kind: z$1.ZodLiteral<"command">;
13104
+ label: z$1.ZodString;
13105
+ name: z$1.ZodString;
13106
+ origin: z$1.ZodEnum<{
13107
+ builtin: "builtin";
13108
+ project: "project";
13109
+ user: "user";
13110
+ }>;
13111
+ source: z$1.ZodEnum<{
13112
+ command: "command";
13113
+ skill: "skill";
13114
+ }>;
13115
+ trigger: z$1.ZodEnum<{
13116
+ "/": "/";
13117
+ $: "$";
13118
+ }>;
13119
+ }, z$1.core.$strip>, z$1.ZodObject<{
13120
+ icon: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
13121
+ itemId: z$1.ZodString;
13122
+ kind: z$1.ZodLiteral<"plugin">;
13123
+ label: z$1.ZodString;
13124
+ pluginId: z$1.ZodString;
13125
+ }, z$1.core.$strip>], "kind">>;
13126
+ start: z$1.ZodNumber;
13127
+ }, z$1.core.$strip>>>;
13128
+ text: z$1.ZodString;
13129
+ type: z$1.ZodLiteral<"text">;
13130
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13131
+ "agent-only": "agent-only";
13132
+ }>>;
13133
+ }, z$1.core.$strip>, z$1.ZodObject<{
13134
+ type: z$1.ZodLiteral<"image">;
13135
+ url: z$1.ZodString;
13136
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13137
+ "agent-only": "agent-only";
13138
+ }>>;
13139
+ }, z$1.core.$strip>, z$1.ZodObject<{
13140
+ path: z$1.ZodString;
13141
+ type: z$1.ZodLiteral<"localImage">;
13142
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13143
+ "agent-only": "agent-only";
13144
+ }>>;
13145
+ }, z$1.core.$strip>, z$1.ZodObject<{
13146
+ mimeType: z$1.ZodOptional<z$1.ZodString>;
13147
+ name: z$1.ZodOptional<z$1.ZodString>;
13148
+ path: z$1.ZodString;
13149
+ sizeBytes: z$1.ZodOptional<z$1.ZodNumber>;
13150
+ type: z$1.ZodLiteral<"localFile">;
13151
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13152
+ "agent-only": "agent-only";
13153
+ }>>;
13154
+ }, z$1.core.$strip>], "type">>;
13155
+ }, z$1.core.$strict>;
13156
+ type UpdateThreadDraftRequest = z$1.infer<typeof updateThreadDraftRequestSchema>;
12980
13157
  declare const updateQueuedMessageRequestSchema: z$1.ZodObject<{
12981
13158
  expectedUpdatedAt: z$1.ZodNumber;
12982
13159
  input: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
@@ -13521,9 +13698,92 @@ type ThreadSearchResponse = z$1.infer<typeof threadSearchResponseSchema>;
13521
13698
  declare const threadResponseSchema: z$1.ZodObject<{
13522
13699
  activeBackgroundAgentCount: z$1.ZodNumber;
13523
13700
  archivedAt: z$1.ZodNullable<z$1.ZodNumber>;
13701
+ canRestoreEnvironment: z$1.ZodBoolean;
13524
13702
  canSpawnChild: z$1.ZodBoolean;
13525
13703
  createdAt: z$1.ZodNumber;
13526
13704
  deletedAt: z$1.ZodNullable<z$1.ZodNumber>;
13705
+ draft: z$1.ZodNullable<z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
13706
+ mentions: z$1.ZodDefault<z$1.ZodArray<z$1.ZodObject<{
13707
+ end: z$1.ZodNumber;
13708
+ resource: z$1.ZodPipe<z$1.ZodTransform<unknown, unknown>, z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
13709
+ kind: z$1.ZodLiteral<"thread">;
13710
+ label: z$1.ZodString;
13711
+ projectId: z$1.ZodOptional<z$1.ZodString>;
13712
+ threadId: z$1.ZodString;
13713
+ }, z$1.core.$strip>, z$1.ZodObject<{
13714
+ kind: z$1.ZodLiteral<"project">;
13715
+ label: z$1.ZodString;
13716
+ projectId: z$1.ZodString;
13717
+ }, z$1.core.$strip>, z$1.ZodObject<{
13718
+ kind: z$1.ZodLiteral<"section">;
13719
+ label: z$1.ZodString;
13720
+ sectionId: z$1.ZodString;
13721
+ }, z$1.core.$strip>, z$1.ZodObject<{
13722
+ entryKind: z$1.ZodEnum<{
13723
+ directory: "directory";
13724
+ file: "file";
13725
+ }>;
13726
+ kind: z$1.ZodLiteral<"path">;
13727
+ label: z$1.ZodString;
13728
+ path: z$1.ZodString;
13729
+ source: z$1.ZodEnum<{
13730
+ "thread-storage": "thread-storage";
13731
+ workspace: "workspace";
13732
+ }>;
13733
+ }, z$1.core.$strip>, z$1.ZodObject<{
13734
+ argumentHint: z$1.ZodNullable<z$1.ZodString>;
13735
+ kind: z$1.ZodLiteral<"command">;
13736
+ label: z$1.ZodString;
13737
+ name: z$1.ZodString;
13738
+ origin: z$1.ZodEnum<{
13739
+ builtin: "builtin";
13740
+ project: "project";
13741
+ user: "user";
13742
+ }>;
13743
+ source: z$1.ZodEnum<{
13744
+ command: "command";
13745
+ skill: "skill";
13746
+ }>;
13747
+ trigger: z$1.ZodEnum<{
13748
+ "/": "/";
13749
+ $: "$";
13750
+ }>;
13751
+ }, z$1.core.$strip>, z$1.ZodObject<{
13752
+ icon: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
13753
+ itemId: z$1.ZodString;
13754
+ kind: z$1.ZodLiteral<"plugin">;
13755
+ label: z$1.ZodString;
13756
+ pluginId: z$1.ZodString;
13757
+ }, z$1.core.$strip>], "kind">>;
13758
+ start: z$1.ZodNumber;
13759
+ }, z$1.core.$strip>>>;
13760
+ text: z$1.ZodString;
13761
+ type: z$1.ZodLiteral<"text">;
13762
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13763
+ "agent-only": "agent-only";
13764
+ }>>;
13765
+ }, z$1.core.$strip>, z$1.ZodObject<{
13766
+ type: z$1.ZodLiteral<"image">;
13767
+ url: z$1.ZodString;
13768
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13769
+ "agent-only": "agent-only";
13770
+ }>>;
13771
+ }, z$1.core.$strip>, z$1.ZodObject<{
13772
+ path: z$1.ZodString;
13773
+ type: z$1.ZodLiteral<"localImage">;
13774
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13775
+ "agent-only": "agent-only";
13776
+ }>>;
13777
+ }, z$1.core.$strip>, z$1.ZodObject<{
13778
+ mimeType: z$1.ZodOptional<z$1.ZodString>;
13779
+ name: z$1.ZodOptional<z$1.ZodString>;
13780
+ path: z$1.ZodString;
13781
+ sizeBytes: z$1.ZodOptional<z$1.ZodNumber>;
13782
+ type: z$1.ZodLiteral<"localFile">;
13783
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13784
+ "agent-only": "agent-only";
13785
+ }>>;
13786
+ }, z$1.core.$strip>], "type">>>;
13527
13787
  environmentId: z$1.ZodNullable<z$1.ZodString>;
13528
13788
  id: z$1.ZodString;
13529
13789
  lastReadAt: z$1.ZodNullable<z$1.ZodNumber>;
@@ -13579,9 +13839,92 @@ type ThreadPluginMetadataResponse = z$1.infer<typeof pluginMetadataSchema>;
13579
13839
  declare const threadWithIncludesResponseSchema: z$1.ZodObject<{
13580
13840
  activeBackgroundAgentCount: z$1.ZodNumber;
13581
13841
  archivedAt: z$1.ZodNullable<z$1.ZodNumber>;
13842
+ canRestoreEnvironment: z$1.ZodBoolean;
13582
13843
  canSpawnChild: z$1.ZodBoolean;
13583
13844
  createdAt: z$1.ZodNumber;
13584
13845
  deletedAt: z$1.ZodNullable<z$1.ZodNumber>;
13846
+ draft: z$1.ZodNullable<z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
13847
+ mentions: z$1.ZodDefault<z$1.ZodArray<z$1.ZodObject<{
13848
+ end: z$1.ZodNumber;
13849
+ resource: z$1.ZodPipe<z$1.ZodTransform<unknown, unknown>, z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
13850
+ kind: z$1.ZodLiteral<"thread">;
13851
+ label: z$1.ZodString;
13852
+ projectId: z$1.ZodOptional<z$1.ZodString>;
13853
+ threadId: z$1.ZodString;
13854
+ }, z$1.core.$strip>, z$1.ZodObject<{
13855
+ kind: z$1.ZodLiteral<"project">;
13856
+ label: z$1.ZodString;
13857
+ projectId: z$1.ZodString;
13858
+ }, z$1.core.$strip>, z$1.ZodObject<{
13859
+ kind: z$1.ZodLiteral<"section">;
13860
+ label: z$1.ZodString;
13861
+ sectionId: z$1.ZodString;
13862
+ }, z$1.core.$strip>, z$1.ZodObject<{
13863
+ entryKind: z$1.ZodEnum<{
13864
+ directory: "directory";
13865
+ file: "file";
13866
+ }>;
13867
+ kind: z$1.ZodLiteral<"path">;
13868
+ label: z$1.ZodString;
13869
+ path: z$1.ZodString;
13870
+ source: z$1.ZodEnum<{
13871
+ "thread-storage": "thread-storage";
13872
+ workspace: "workspace";
13873
+ }>;
13874
+ }, z$1.core.$strip>, z$1.ZodObject<{
13875
+ argumentHint: z$1.ZodNullable<z$1.ZodString>;
13876
+ kind: z$1.ZodLiteral<"command">;
13877
+ label: z$1.ZodString;
13878
+ name: z$1.ZodString;
13879
+ origin: z$1.ZodEnum<{
13880
+ builtin: "builtin";
13881
+ project: "project";
13882
+ user: "user";
13883
+ }>;
13884
+ source: z$1.ZodEnum<{
13885
+ command: "command";
13886
+ skill: "skill";
13887
+ }>;
13888
+ trigger: z$1.ZodEnum<{
13889
+ "/": "/";
13890
+ $: "$";
13891
+ }>;
13892
+ }, z$1.core.$strip>, z$1.ZodObject<{
13893
+ icon: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
13894
+ itemId: z$1.ZodString;
13895
+ kind: z$1.ZodLiteral<"plugin">;
13896
+ label: z$1.ZodString;
13897
+ pluginId: z$1.ZodString;
13898
+ }, z$1.core.$strip>], "kind">>;
13899
+ start: z$1.ZodNumber;
13900
+ }, z$1.core.$strip>>>;
13901
+ text: z$1.ZodString;
13902
+ type: z$1.ZodLiteral<"text">;
13903
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13904
+ "agent-only": "agent-only";
13905
+ }>>;
13906
+ }, z$1.core.$strip>, z$1.ZodObject<{
13907
+ type: z$1.ZodLiteral<"image">;
13908
+ url: z$1.ZodString;
13909
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13910
+ "agent-only": "agent-only";
13911
+ }>>;
13912
+ }, z$1.core.$strip>, z$1.ZodObject<{
13913
+ path: z$1.ZodString;
13914
+ type: z$1.ZodLiteral<"localImage">;
13915
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13916
+ "agent-only": "agent-only";
13917
+ }>>;
13918
+ }, z$1.core.$strip>, z$1.ZodObject<{
13919
+ mimeType: z$1.ZodOptional<z$1.ZodString>;
13920
+ name: z$1.ZodOptional<z$1.ZodString>;
13921
+ path: z$1.ZodString;
13922
+ sizeBytes: z$1.ZodOptional<z$1.ZodNumber>;
13923
+ type: z$1.ZodLiteral<"localFile">;
13924
+ visibility: z$1.ZodOptional<z$1.ZodEnum<{
13925
+ "agent-only": "agent-only";
13926
+ }>>;
13927
+ }, z$1.core.$strip>], "type">>>;
13585
13928
  environment: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
13586
13929
  baseBranch: z$1.ZodNullable<z$1.ZodString>;
13587
13930
  branchName: z$1.ZodNullable<z$1.ZodString>;
@@ -14181,6 +14524,7 @@ declare const threadQueuedMessageListResponseSchema: z$1.ZodArray<z$1.ZodObject<
14181
14524
  type ThreadQueuedMessageListResponse = z$1.infer<typeof threadQueuedMessageListResponseSchema>;
14182
14525
  declare const threadChildSummaryResponseSchema: z$1.ZodObject<{
14183
14526
  nonDeletedChildCount: z$1.ZodNumber;
14527
+ unarchivedDescendantCount: z$1.ZodNumber;
14184
14528
  }, z$1.core.$strip>;
14185
14529
  type ThreadChildSummaryResponse = z$1.infer<typeof threadChildSummaryResponseSchema>;
14186
14530
  declare const deleteThreadRequestSchema: z$1.ZodObject<{
@@ -16482,6 +16826,7 @@ type ThreadUnarchiveResult = {
16482
16826
  };
16483
16827
  type ThreadArchiveAllResult = ThreadArchiveAllResponse;
16484
16828
  type ThreadReadStateResult = ThreadResponse;
16829
+ type ThreadRestoreEnvironmentResult = ThreadResponse;
16485
16830
  type ThreadPinOrderResult = ThreadListResponse;
16486
16831
  type ThreadPromptHistoryResult = PromptHistoryResponse;
16487
16832
  type ThreadQueuedMessagesResult = ThreadQueuedMessageListResponse;
@@ -16522,6 +16867,9 @@ interface ThreadForkArgs extends Omit<ForkThreadRequest, "origin" | "visibility"
16522
16867
  interface ThreadUpdateArgs extends UpdateThreadRequest {
16523
16868
  threadId: string;
16524
16869
  }
16870
+ interface ThreadUpdateDraftArgs extends UpdateThreadDraftRequest {
16871
+ threadId: string;
16872
+ }
16525
16873
  interface ThreadPluginMetadataArgs {
16526
16874
  pluginId: string;
16527
16875
  signal?: AbortSignal;
@@ -16774,6 +17122,14 @@ interface ThreadsArea {
16774
17122
  * `sendAt` in the future queues it on the clock and a `message.dispatch` hook
16775
17123
  * can still hold it; the response says which of the two happened.
16776
17124
  */
17125
+ /**
17126
+ * Ask the environment provider to restore the destroyed workspace of a
17127
+ * thread and attach it; the provider decides what restoring means, such as
17128
+ * checking the recorded branch out again. Sends fail until this runs. Starts
17129
+ * no turn: the thread settles back to `idle` once the workspace is ready.
17130
+ * Refused unless the thread's `canRestoreEnvironment` is true.
17131
+ */
17132
+ restoreEnvironment(args: ThreadActionArgs): Promise<ThreadRestoreEnvironmentResult>;
16777
17133
  retry(args: ThreadRetryArgs): Promise<ThreadRetryResult>;
16778
17134
  search(args: ThreadSearchArgs): Promise<ThreadSearchResult>;
16779
17135
  send(args: ThreadSendArgs): Promise<ThreadSendResult>;
@@ -16797,6 +17153,12 @@ interface ThreadsArea {
16797
17153
  unarchive(args: ThreadActionArgs): Promise<ThreadUnarchiveResult>;
16798
17154
  unpin(args: ThreadActionArgs): Promise<ThreadMutationResult>;
16799
17155
  update(args: ThreadUpdateArgs): Promise<ThreadMutationResult>;
17156
+ /**
17157
+ * Replace the thread's saved, unsent draft message. An empty `input` clears
17158
+ * it. On a `pending` thread the draft also becomes the thread's fallback
17159
+ * title. Sending a message does not clear the draft; clear it explicitly.
17160
+ */
17161
+ updateDraft(args: ThreadUpdateDraftArgs): Promise<ThreadMutationResult>;
16800
17162
  wait(args: ThreadWaitArgs): Promise<ThreadWaitResult>;
16801
17163
  }
16802
17164
 
@@ -18018,6 +18380,10 @@ interface PluginSidebarThreadsState {
18018
18380
  } | null;
18019
18381
  status: "error" | "loading" | "ready";
18020
18382
  threads: readonly PluginSidebarThread[];
18383
+ experimental_hosts?: readonly {
18384
+ id: string;
18385
+ name: string;
18386
+ }[];
18021
18387
  projects: readonly PluginSidebarProject[];
18022
18388
  /** Every section, in the server's order (creation order). */
18023
18389
  sections: readonly PluginSidebarSection[];
@@ -18183,11 +18549,15 @@ interface PluginSidebarThreadActions {
18183
18549
  * `sectionId` files the new thread under that section, and
18184
18550
  * `environmentId` reuses that environment (the "New thread in
18185
18551
  * environment" affordance), both exactly as bb's own list does.
18552
+ * `hostId` selects a machine for a new environment when it
18553
+ * is known and supports an environment provider. `environmentId` wins when
18554
+ * both are supplied.
18186
18555
  */
18187
18556
  openNewThread(options?: {
18188
18557
  projectId?: string;
18189
18558
  sectionId?: string;
18190
18559
  environmentId?: string;
18560
+ hostId?: string;
18191
18561
  focusPrompt?: boolean;
18192
18562
  }): void;
18193
18563
  setPinned(threadId: string, pinned: boolean): Promise<void>;
@@ -20148,13 +20518,21 @@ interface PluginEnvironmentProviderCreateContext<R extends PluginEnvironmentProv
20148
20518
  suggestedBranchName: string;
20149
20519
  attempt: number;
20150
20520
  pathKey: string;
20151
- rebuild: boolean;
20521
+ experimental_claimPath(path: string): Promise<boolean>;
20522
+ report: PluginEnvironmentProviderProgress;
20523
+ signal: AbortSignal;
20524
+ }
20525
+ /** Rebuilds a thread's destroyed environment; `inputs` are the ones it was created with. */
20526
+ interface PluginEnvironmentProviderRestoreContext<R extends PluginEnvironmentProviderRequirements$1 = PluginEnvironmentProviderRequirements$1, S extends PluginEnvironmentProviderInputsSchema = PluginEnvironmentProviderInputsSchema> extends PluginEnvironmentProviderValidateContext<R, S> {
20527
+ thread: ThreadResponse;
20528
+ attempt: number;
20529
+ pathKey: string;
20152
20530
  experimental_claimPath(path: string): Promise<boolean>;
20153
20531
  /** Resource is private to this provider; null after completed removal. */
20154
20532
  previous: {
20155
20533
  environment: Environment;
20156
20534
  resource: JsonValue$2 | null;
20157
- } | null;
20535
+ };
20158
20536
  report: PluginEnvironmentProviderProgress;
20159
20537
  signal: AbortSignal;
20160
20538
  }
@@ -20188,7 +20566,7 @@ type PluginEnvironmentProviderRemoveResult = {
20188
20566
  interface PluginEnvironmentProviderPolicy {
20189
20567
  /** Default five minutes; null keeps the environment indefinitely. */
20190
20568
  retireGraceMs: number | null;
20191
- /** Default per-thread; rebuilds use a fresh key to avoid dead paths. */
20569
+ /** Default per-thread; replacement environments use a fresh key to avoid dead paths. */
20192
20570
  pathKeys: "per-attempt" | "per-thread";
20193
20571
  }
20194
20572
  /** Resource operations only. Core owns durable launches, retries and retirement. */
@@ -20208,6 +20586,8 @@ interface PluginEnvironmentProviderDefinition<R extends PluginEnvironmentProvide
20208
20586
  /** Pure path selection from parsed inputs. Core reuses a recorded environment on the selected host before calling create; null requests normal creation. */
20209
20587
  experimental_existingPath?(inputs: InputsValue<S>): string | null;
20210
20588
  create(context: PluginEnvironmentProviderCreateContext<R, S>): Promise<PluginEnvironmentProviderCreateResult>;
20589
+ /** Experimental: rebuild a destroyed environment when its thread asks for it back. Without it, core never rebuilds this provider's destroyed environments: see docs/api_to_audit.md. */
20590
+ restore?(context: PluginEnvironmentProviderRestoreContext<R, S>): Promise<PluginEnvironmentProviderCreateResult>;
20211
20591
  remove(context: PluginEnvironmentProviderRemoveContext): Promise<PluginEnvironmentProviderRemoveResult>;
20212
20592
  }
20213
20593
 
@@ -1943,6 +1943,12 @@ function validatePluginEnvironmentProviderDeclaration(declaration) {
1943
1943
  declaration.experimental_existingPath,
1944
1944
  "experimental_existingPath"
1945
1945
  );
1946
+ assertOptionalFunction(
1947
+ "environment provider",
1948
+ id,
1949
+ declaration.restore,
1950
+ "a restore"
1951
+ );
1946
1952
  return {
1947
1953
  id,
1948
1954
  displayName,
@@ -1955,6 +1961,7 @@ function validatePluginEnvironmentProviderDeclaration(declaration) {
1955
1961
  validate: declaration.validate ?? null,
1956
1962
  experimental_existingPath: declaration.experimental_existingPath ?? null,
1957
1963
  create: declaration.create,
1964
+ restore: declaration.restore ?? null,
1958
1965
  remove: declaration.remove,
1959
1966
  policy: environmentProviderPolicySchema.parse(declaration.policy ?? {})
1960
1967
  };