@get-bb/plugin-sdk 0.4.94 → 0.4.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-types/bb-plugin-sdk-app.d.ts +55 -3
- package/bundled-types/bb-plugin-sdk-environment-provider.d.ts +1 -0
- package/bundled-types/bb-plugin-sdk-internal-host-policy.d.ts +18 -0
- package/bundled-types/bb-plugin-sdk-machine-provider.d.ts +2 -0
- package/bundled-types/bb-plugin-sdk-provider-bridge-testing.d.ts +4 -0
- package/bundled-types/bb-plugin-sdk-provider-bridge.d.ts +5 -0
- package/bundled-types/bb-plugin-sdk-testing.d.ts +16 -0
- package/bundled-types/bb-plugin-sdk.d.ts +482 -3
- package/dist/internal/host-policy.js +117 -93
- package/dist/provider-bridge-acp.js +2121 -1562
- package/dist/provider-bridge-testing.js +1301 -1228
- package/dist/provider-bridge.js +1819 -1311
- package/dist/testing/app.js +17 -0
- package/dist/testing/index.js +118 -93
- package/package.json +1 -1
|
@@ -192,6 +192,7 @@ declare const promptInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
192
192
|
}>;
|
|
193
193
|
trigger: z.ZodEnum<{
|
|
194
194
|
"/": "/";
|
|
195
|
+
$: "$";
|
|
195
196
|
}>;
|
|
196
197
|
}, z.core.$strip>, z.ZodObject<{
|
|
197
198
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -250,10 +251,15 @@ declare const providerInfoSchema: z.ZodObject<{
|
|
|
250
251
|
supportsThreadArchive: z.ZodBoolean;
|
|
251
252
|
supportsThreadRename: z.ZodBoolean;
|
|
252
253
|
}, z.core.$strip>;
|
|
254
|
+
completedTurnDisplay: z.ZodEnum<{
|
|
255
|
+
collapse: "collapse";
|
|
256
|
+
flat: "flat";
|
|
257
|
+
}>;
|
|
253
258
|
composerActions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
254
259
|
kind: z.ZodLiteral<"skills">;
|
|
255
260
|
trigger: z.ZodEnum<{
|
|
256
261
|
"/": "/";
|
|
262
|
+
$: "$";
|
|
257
263
|
}>;
|
|
258
264
|
}, z.core.$strip>, z.ZodObject<{
|
|
259
265
|
command: z.ZodObject<{
|
|
@@ -261,6 +267,7 @@ declare const providerInfoSchema: z.ZodObject<{
|
|
|
261
267
|
trailingText: z.ZodString;
|
|
262
268
|
trigger: z.ZodEnum<{
|
|
263
269
|
"/": "/";
|
|
270
|
+
$: "$";
|
|
264
271
|
}>;
|
|
265
272
|
}, z.core.$strip>;
|
|
266
273
|
kind: z.ZodLiteral<"plan">;
|
|
@@ -270,6 +277,7 @@ declare const providerInfoSchema: z.ZodObject<{
|
|
|
270
277
|
trailingText: z.ZodString;
|
|
271
278
|
trigger: z.ZodEnum<{
|
|
272
279
|
"/": "/";
|
|
280
|
+
$: "$";
|
|
273
281
|
}>;
|
|
274
282
|
}, z.core.$strip>;
|
|
275
283
|
kind: z.ZodLiteral<"goal">;
|
|
@@ -575,6 +583,34 @@ interface PluginThreadHeaderActionProps {
|
|
|
575
583
|
*/
|
|
576
584
|
isCompactViewport: boolean;
|
|
577
585
|
}
|
|
586
|
+
/** JavaScript world a Browser page expression runs in. */
|
|
587
|
+
type ExperimentalPluginBrowserPageWorld = "isolated" | "main";
|
|
588
|
+
interface ExperimentalPluginBrowserPageEvaluateOptions {
|
|
589
|
+
/**
|
|
590
|
+
* `isolated` (default) runs in a BB-owned world that shares the page DOM but
|
|
591
|
+
* not page globals, and binds `bb.postMessage(data)`. `main` runs beside the
|
|
592
|
+
* page's own scripts, where `bb` is `null`.
|
|
593
|
+
*/
|
|
594
|
+
world?: ExperimentalPluginBrowserPageWorld;
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* Script access to the top-level document of one Browser tab. Independent of
|
|
598
|
+
* CDP control leases: it never attaches a debugger or shows a control banner.
|
|
599
|
+
*/
|
|
600
|
+
interface ExperimentalPluginBrowserPage {
|
|
601
|
+
/**
|
|
602
|
+
* Evaluate a JavaScript expression and resolve its JSON-serialized value.
|
|
603
|
+
* Promises are awaited and `undefined` resolves to `null`. The expression
|
|
604
|
+
* can reference `bb`. Rejects when the tab is gone or the expression throws.
|
|
605
|
+
* Anything the expression installs is lost when the document navigates.
|
|
606
|
+
*/
|
|
607
|
+
evaluate(expression: string, options?: ExperimentalPluginBrowserPageEvaluateOptions): Promise<JsonValue$1>;
|
|
608
|
+
/**
|
|
609
|
+
* Subscribe to values this plugin's isolated-world scripts in this tab send
|
|
610
|
+
* with `bb.postMessage(data)`. Returns the unsubscribe function.
|
|
611
|
+
*/
|
|
612
|
+
onMessage(listener: (data: JsonValue$1) => void): () => void;
|
|
613
|
+
}
|
|
578
614
|
interface ExperimentalPluginBrowserToolbarActionProps {
|
|
579
615
|
/** Thread that owns the Browser tab. */
|
|
580
616
|
threadId: string;
|
|
@@ -584,6 +620,8 @@ interface ExperimentalPluginBrowserToolbarActionProps {
|
|
|
584
620
|
url: string;
|
|
585
621
|
/** True when the Browser chrome needs compact controls. */
|
|
586
622
|
isCompactViewport: boolean;
|
|
623
|
+
/** Script access to this tab's page; `null` outside the desktop app. */
|
|
624
|
+
experimental_page: ExperimentalPluginBrowserPage | null;
|
|
587
625
|
}
|
|
588
626
|
/**
|
|
589
627
|
* Where a file being opened by a `fileOpener` lives. `path` semantics follow
|
|
@@ -2174,6 +2212,13 @@ interface PluginComposerApi {
|
|
|
2174
2212
|
* content should be fetched fresh when the message is sent.
|
|
2175
2213
|
*/
|
|
2176
2214
|
insertMention(mention: PluginComposerMention): void;
|
|
2215
|
+
/** Remove this plugin's matching mention pills and their text from the current draft. */
|
|
2216
|
+
experimental_removeMention(mention: {
|
|
2217
|
+
provider: string;
|
|
2218
|
+
id: string;
|
|
2219
|
+
}): void;
|
|
2220
|
+
/** Subscribe to successful local submissions in this composer scope, including accepted queued messages. Failed sends and draft clearing do not notify. Dispose on unmount. */
|
|
2221
|
+
experimental_onSubmitted(listener: () => void): () => void;
|
|
2177
2222
|
/** Focus the composer caret at the end of the draft. */
|
|
2178
2223
|
focus(): void;
|
|
2179
2224
|
/**
|
|
@@ -2528,7 +2573,13 @@ interface NewThreadComposerProps {
|
|
|
2528
2573
|
* the original `default` submission would have created from.
|
|
2529
2574
|
*/
|
|
2530
2575
|
defaultEnvironment?: CreateThreadEnvironmentArgs;
|
|
2531
|
-
/**
|
|
2576
|
+
/**
|
|
2577
|
+
* Seeds the draft, only while the draft is still empty. Serialized
|
|
2578
|
+
* `@thread:<id>`, `@project:<id>`, and `@section:<id>` tokens become mention
|
|
2579
|
+
* pills with host-resolved titles/names. Missing projects/sections use their
|
|
2580
|
+
* IDs; unavailable generated thread IDs use "Unavailable thread" ("Thread"
|
|
2581
|
+
* if lookup fails). Other unknown thread IDs use the ID as their label.
|
|
2582
|
+
*/
|
|
2532
2583
|
initialPrompt?: string;
|
|
2533
2584
|
placeholder?: string;
|
|
2534
2585
|
/**
|
|
@@ -2663,7 +2714,8 @@ interface BbNavigate {
|
|
|
2663
2714
|
}): void;
|
|
2664
2715
|
/**
|
|
2665
2716
|
* Navigate to the root compose surface (the new-thread screen). Pass
|
|
2666
|
-
* `initialPrompt` to seed the composer draft
|
|
2717
|
+
* `initialPrompt` to seed the composer draft (serialized thread, project,
|
|
2718
|
+
* and section mention tokens become pills) and `focusPrompt` to focus the
|
|
2667
2719
|
* composer on arrival — the pairing behind "Create via chat" style entry
|
|
2668
2720
|
* points that drop the user into chat with a prefilled prompt.
|
|
2669
2721
|
*/
|
|
@@ -2879,4 +2931,4 @@ declare const experimental_useProviders: () => PluginProvidersState;
|
|
|
2879
2931
|
declare const experimental_useCodeTheme: () => PluginCodeThemeState;
|
|
2880
2932
|
|
|
2881
2933
|
export { Markdown, ThreadChat, UrlLink, definePluginApp, experimental_BranchPicker, experimental_Diff, experimental_FileLink, experimental_Icon, experimental_NewThreadComposer, experimental_PermissionModePicker, experimental_ProviderIcon, experimental_ProviderModelPicker, experimental_SourceCode, experimental_useAppPanel, experimental_useBranches, experimental_useCheckoutState, experimental_useCodeTheme, experimental_useFixedTabTarget, experimental_useProviders, experimental_useSidebarThreadActions, experimental_useSidebarThreadPullRequest, experimental_useSidebarThreadSplit, experimental_useSidebarThreads, useBbContext, useBbNavigate, useComposer, useComposerView, useRealtime, useRealtimeConnectionState, useRpc, useSettings };
|
|
2882
|
-
export type { BbContext, BbNavigate, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerCustomization, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerStructuredDraft, ComposerView, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerSubmitOptions, ExperimentalDiffFileContent, ExperimentalDiffFullFileContents, ExperimentalFileLinkProps, ExperimentalFileLocation, ExperimentalFileOpenOptions, ExperimentalFixedTabTargetContract, ExperimentalFixedTabTargetState, ExperimentalIconProps, ExperimentalIconRegistration, ExperimentalLiveFileTarget, ExperimentalOpenFixedTabOptions, ExperimentalPermissionModePickerProps, ExperimentalPluginBrowserToolbarActionProps, ExperimentalPluginBrowserToolbarActionRegistration, ExperimentalPluginFixedTabReference, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, JsonValue$1 as JsonValue, MarkdownProps, NewThreadComposerProps, NewThreadRequest, PluginAppBuilder, PluginAppCommands, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandContext, PluginCommandPaletteActionContext, PluginCommandPaletteActionRegistration, PluginCommandRegistration, PluginCommandShortcut, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, 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, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginTargetedPanelActionOpenOptions, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, ReadonlyJsonValue, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };
|
|
2934
|
+
export type { BbContext, BbNavigate, BranchPickerProps, BranchesState, CheckoutState, CodeOverflowMode, ComposerCustomization, ComposerPlusMenuItem, ComposerRichTextSpec, ComposerStructuredDraft, ComposerView, DiffProps, DiffViewMode, ExperimentalAppIcons, ExperimentalAppOverlayProps, ExperimentalAppOverlayRegistration, ExperimentalAppPanel, ExperimentalAppPanelSurface, ExperimentalComposerSubmitOptions, ExperimentalDiffFileContent, ExperimentalDiffFullFileContents, ExperimentalFileLinkProps, ExperimentalFileLocation, ExperimentalFileOpenOptions, ExperimentalFixedTabTargetContract, ExperimentalFixedTabTargetState, ExperimentalIconProps, ExperimentalIconRegistration, ExperimentalLiveFileTarget, ExperimentalOpenFixedTabOptions, ExperimentalPermissionModePickerProps, ExperimentalPluginBrowserPage, ExperimentalPluginBrowserPageEvaluateOptions, ExperimentalPluginBrowserPageWorld, ExperimentalPluginBrowserToolbarActionProps, ExperimentalPluginBrowserToolbarActionRegistration, ExperimentalPluginFixedTabReference, ExperimentalProviderIconProps, ExperimentalProviderModelPickerProps, ExperimentalProviderModelPickerRouting, ExperimentalProviderModelPickerValue, ExperimentalSidebarFooter, ExperimentalSidebarFooterActionContext, ExperimentalSidebarFooterActionRegistration, ExperimentalSidebarFooterDisclosureController, ExperimentalSidebarFooterDisclosureProps, ExperimentalSidebarFooterDisclosureRegistration, ExperimentalSidebarFooterItemBase, ExperimentalSidebarFooterItemRegistration, ExperimentalSidebarNavigationAction, ExperimentalSidebarNavigationActivationOptions, ExperimentalSidebarNavigationIcon, ExperimentalSidebarNavigationItem, ExperimentalSidebarNavigationProps, ExperimentalSidebarNavigationRegistration, ExperimentalSidebarNavigationShortcut, JsonValue$1 as JsonValue, MarkdownProps, NewThreadComposerProps, NewThreadRequest, PluginAppBuilder, PluginAppCommands, PluginAppComposer, PluginAppContentScripts, PluginAppDefinition, PluginAppSetup, PluginAppSlots, PluginCodeThemeData, PluginCodeThemeState, PluginCodeThemeTokenRule, PluginCommandContext, PluginCommandPaletteActionContext, PluginCommandPaletteActionRegistration, PluginCommandRegistration, PluginCommandShortcut, PluginComposerApi, PluginComposerMention, PluginComposerScope, PluginComposerTextEffect, PluginComposerThreadRowStatus, PluginContentScriptContext, PluginContentScriptDisposer, PluginContentScriptRegistration, PluginDiffRendererProps, PluginDiffRendererRegistration, PluginEnvironmentProviderInputsChange, PluginEnvironmentProviderInputsProps, PluginEnvironmentProviderInputsRegistration, 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, PluginSidebarSplitPane, PluginSidebarThread, PluginSidebarThreadActions, PluginSidebarThreadActivity, PluginSidebarThreadIndicator, PluginSidebarThreadPullRequestState, PluginSidebarThreadSplit, PluginSidebarThreadsState, PluginSourceCodeRendererProps, PluginSourceCodeRendererRegistration, PluginTargetedPanelActionOpenOptions, PluginThreadHeaderActionProps, PluginThreadHeaderActionRegistration, PluginThreadListProps, PluginThreadListRegistration, PluginThreadPanelActionContext, PluginThreadPanelActionRegistration, PluginThreadPanelProps, PluginTimelineRendererProps, PluginTimelineRendererRegistration, PluginTimelineRendererRow, PluginTimelineRowPresentation, PluginTimelineRowStatus, ReadonlyJsonValue, SourceCodeLineRange, SourceCodeProps, StandardSchemaV1, StandardSchemaV1InferInput, StandardSchemaV1InferOutput, StandardSchemaV1Issue, StandardSchemaV1Result, ThreadChatMessageAction, ThreadChatMessageReference, ThreadChatProps, UrlLinkProps, UseBranchesArgs, UseCheckoutStateArgs };
|
|
@@ -143,6 +143,7 @@ declare const threadResponseSchema: z.ZodObject<{
|
|
|
143
143
|
id: z.ZodString;
|
|
144
144
|
lastReadAt: z.ZodNullable<z.ZodNumber>;
|
|
145
145
|
latestAttentionAt: z.ZodNumber;
|
|
146
|
+
lifecycleOwnerThreadId: z.ZodNullable<z.ZodString>;
|
|
146
147
|
originKind: z.ZodNullable<z.ZodEnum<{
|
|
147
148
|
fork: "fork";
|
|
148
149
|
}>>;
|
|
@@ -252,6 +252,7 @@ declare const promptInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
252
252
|
}>;
|
|
253
253
|
trigger: z.ZodEnum<{
|
|
254
254
|
"/": "/";
|
|
255
|
+
$: "$";
|
|
255
256
|
}>;
|
|
256
257
|
}, z.core.$strip>, z.ZodObject<{
|
|
257
258
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -344,6 +345,7 @@ declare const threadQueuedMessageSchema: z.ZodObject<{
|
|
|
344
345
|
}>;
|
|
345
346
|
trigger: z.ZodEnum<{
|
|
346
347
|
"/": "/";
|
|
348
|
+
$: "$";
|
|
347
349
|
}>;
|
|
348
350
|
}, z.core.$strip>, z.ZodObject<{
|
|
349
351
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -472,6 +474,7 @@ declare const threadResponseSchema: z.ZodObject<{
|
|
|
472
474
|
id: z.ZodString;
|
|
473
475
|
lastReadAt: z.ZodNullable<z.ZodNumber>;
|
|
474
476
|
latestAttentionAt: z.ZodNumber;
|
|
477
|
+
lifecycleOwnerThreadId: z.ZodNullable<z.ZodString>;
|
|
475
478
|
originKind: z.ZodNullable<z.ZodEnum<{
|
|
476
479
|
fork: "fork";
|
|
477
480
|
}>>;
|
|
@@ -695,7 +698,9 @@ interface PluginMachineProviderDefinition<S extends PluginMachineProviderInputsS
|
|
|
695
698
|
report: PluginMachineProviderProgress;
|
|
696
699
|
signal: AbortSignal;
|
|
697
700
|
}): Promise<PluginMachineProviderRemoveResult>;
|
|
701
|
+
/** Idempotent: preserve saved state when compute is already stopped; save and stop any remaining compute, including during reconciliation of a suspended machine. */
|
|
698
702
|
suspend?(context: PluginMachineProviderResourceLifecycleContext): Promise<PluginMachineProviderResourceResult>;
|
|
703
|
+
/** Idempotent: reuse existing running compute instead of allocating a duplicate. */
|
|
699
704
|
resume?(context: PluginMachineProviderResourceLifecycleContext): Promise<PluginMachineProviderResourceResult>;
|
|
700
705
|
remove(context: PluginMachineProviderRemoveContext): Promise<PluginMachineProviderRemoveResult>;
|
|
701
706
|
}
|
|
@@ -1311,6 +1316,8 @@ interface PluginProviderOptionsContext {
|
|
|
1311
1316
|
}
|
|
1312
1317
|
/** See {@link PluginProviderDeclaration.models}. */
|
|
1313
1318
|
type PluginProviderModelCatalogScope = "host" | "workspace";
|
|
1319
|
+
/** See {@link PluginProviderDeclaration.completedTurnDisplay}. */
|
|
1320
|
+
type PluginProviderCompletedTurnDisplay = "collapse" | "flat";
|
|
1314
1321
|
/**
|
|
1315
1322
|
* One cold-cache fallback model. The provider's live `model/list` result is
|
|
1316
1323
|
* the only real model source; this list stands in only while no probe has
|
|
@@ -1417,6 +1424,16 @@ interface PluginProviderDeclaration {
|
|
|
1417
1424
|
/** Composer actions this provider supports. No duplicates; may be empty
|
|
1418
1425
|
* (the universal skills typeahead is implicit). */
|
|
1419
1426
|
composerActions: readonly PluginProviderComposerAction[];
|
|
1427
|
+
/**
|
|
1428
|
+
* How the thread timeline shows this provider's turns once they finish.
|
|
1429
|
+
* `"collapse"` (the default) folds a finished turn's work into one
|
|
1430
|
+
* "Worked for" row and leaves the final answer visible. `"flat"` keeps
|
|
1431
|
+
* every row of a finished turn visible, as it was while the turn ran. This
|
|
1432
|
+
* is only the provider's default: the user can choose either display for
|
|
1433
|
+
* each provider in Settings → Providers or with
|
|
1434
|
+
* `bb settings completed-turns`, and that choice wins.
|
|
1435
|
+
*/
|
|
1436
|
+
completedTurnDisplay?: PluginProviderCompletedTurnDisplay;
|
|
1420
1437
|
/** Provider copy for core surfaces ({@link PluginProviderStrings}). */
|
|
1421
1438
|
strings?: PluginProviderStrings;
|
|
1422
1439
|
/** Service tiers this provider accepts, as picker options. Non-empty when
|
|
@@ -1705,6 +1722,7 @@ type NormalizedPluginProviderDeclaration = Omit<PluginProviderDeclaration, "expe
|
|
|
1705
1722
|
readonly experimental_nativeSkillRoots?: ProviderNativeRoots;
|
|
1706
1723
|
readonly experimental_nativeCommandRoots?: ProviderNativeRoots;
|
|
1707
1724
|
readonly experimental_resolvesNativeRoots: boolean;
|
|
1725
|
+
readonly completedTurnDisplay: PluginProviderCompletedTurnDisplay;
|
|
1708
1726
|
readonly maintenance: {
|
|
1709
1727
|
readonly health: boolean;
|
|
1710
1728
|
readonly usage: boolean;
|
|
@@ -76,7 +76,9 @@ interface PluginMachineProviderDefinition<S extends PluginMachineProviderInputsS
|
|
|
76
76
|
report: PluginMachineProviderProgress;
|
|
77
77
|
signal: AbortSignal;
|
|
78
78
|
}): Promise<PluginMachineProviderRemoveResult>;
|
|
79
|
+
/** Idempotent: preserve saved state when compute is already stopped; save and stop any remaining compute, including during reconciliation of a suspended machine. */
|
|
79
80
|
suspend?(context: PluginMachineProviderResourceLifecycleContext): Promise<PluginMachineProviderResourceResult>;
|
|
81
|
+
/** Idempotent: reuse existing running compute instead of allocating a duplicate. */
|
|
80
82
|
resume?(context: PluginMachineProviderResourceLifecycleContext): Promise<PluginMachineProviderResourceResult>;
|
|
81
83
|
remove(context: PluginMachineProviderRemoveContext): Promise<PluginMachineProviderRemoveResult>;
|
|
82
84
|
}
|
|
@@ -3286,6 +3286,7 @@ declare const threadEventSchema: z.ZodPipe<z.ZodUnknown, z.ZodUnion<readonly [z.
|
|
|
3286
3286
|
core: z.ZodEnum<{
|
|
3287
3287
|
"machine-environment": "machine-environment";
|
|
3288
3288
|
"machine-git": "machine-git";
|
|
3289
|
+
"project-environment": "project-environment";
|
|
3289
3290
|
}>;
|
|
3290
3291
|
}, z.core.$strict>]>;
|
|
3291
3292
|
value: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
@@ -3445,6 +3446,7 @@ declare const threadEventSchema: z.ZodPipe<z.ZodUnknown, z.ZodUnion<readonly [z.
|
|
|
3445
3446
|
}>;
|
|
3446
3447
|
trigger: z.ZodEnum<{
|
|
3447
3448
|
"/": "/";
|
|
3449
|
+
$: "$";
|
|
3448
3450
|
}>;
|
|
3449
3451
|
}, z.core.$strip>, z.ZodObject<{
|
|
3450
3452
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -3526,6 +3528,7 @@ declare const threadEventSchema: z.ZodPipe<z.ZodUnknown, z.ZodUnion<readonly [z.
|
|
|
3526
3528
|
}>;
|
|
3527
3529
|
trigger: z.ZodEnum<{
|
|
3528
3530
|
"/": "/";
|
|
3531
|
+
$: "$";
|
|
3529
3532
|
}>;
|
|
3530
3533
|
}, z.core.$strip>, z.ZodObject<{
|
|
3531
3534
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -4065,6 +4068,7 @@ declare const promptInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4065
4068
|
}>;
|
|
4066
4069
|
trigger: z.ZodEnum<{
|
|
4067
4070
|
"/": "/";
|
|
4071
|
+
$: "$";
|
|
4068
4072
|
}>;
|
|
4069
4073
|
}, z.core.$strip>, z.ZodObject<{
|
|
4070
4074
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -1375,6 +1375,7 @@ declare const permissionEscalationSchema: z.ZodEnum<{
|
|
|
1375
1375
|
type PermissionEscalation = z.infer<typeof permissionEscalationSchema>;
|
|
1376
1376
|
declare const promptMentionCommandTriggerSchema: z.ZodEnum<{
|
|
1377
1377
|
"/": "/";
|
|
1378
|
+
$: "$";
|
|
1378
1379
|
}>;
|
|
1379
1380
|
type PromptMentionCommandTrigger = z.infer<typeof promptMentionCommandTriggerSchema>;
|
|
1380
1381
|
declare const promptInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -1421,6 +1422,7 @@ declare const promptInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
1421
1422
|
}>;
|
|
1422
1423
|
trigger: z.ZodEnum<{
|
|
1423
1424
|
"/": "/";
|
|
1425
|
+
$: "$";
|
|
1424
1426
|
}>;
|
|
1425
1427
|
}, z.core.$strip>, z.ZodObject<{
|
|
1426
1428
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -4538,6 +4540,7 @@ declare const threadStartParamsSchema: z.ZodObject<{
|
|
|
4538
4540
|
}>;
|
|
4539
4541
|
trigger: z.ZodEnum<{
|
|
4540
4542
|
"/": "/";
|
|
4543
|
+
$: "$";
|
|
4541
4544
|
}>;
|
|
4542
4545
|
}, z.core.$strip>, z.ZodObject<{
|
|
4543
4546
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -4864,6 +4867,7 @@ declare const turnStartParamsSchema: z.ZodObject<{
|
|
|
4864
4867
|
}>;
|
|
4865
4868
|
trigger: z.ZodEnum<{
|
|
4866
4869
|
"/": "/";
|
|
4870
|
+
$: "$";
|
|
4867
4871
|
}>;
|
|
4868
4872
|
}, z.core.$strip>, z.ZodObject<{
|
|
4869
4873
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -4993,6 +4997,7 @@ declare const turnSteerParamsSchema: z.ZodObject<{
|
|
|
4993
4997
|
}>;
|
|
4994
4998
|
trigger: z.ZodEnum<{
|
|
4995
4999
|
"/": "/";
|
|
5000
|
+
$: "$";
|
|
4996
5001
|
}>;
|
|
4997
5002
|
}, z.core.$strip>, z.ZodObject<{
|
|
4998
5003
|
icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -77,7 +77,9 @@ interface PluginMachineProviderDefinition<S extends PluginMachineProviderInputsS
|
|
|
77
77
|
report: PluginMachineProviderProgress;
|
|
78
78
|
signal: AbortSignal;
|
|
79
79
|
}): Promise<PluginMachineProviderRemoveResult>;
|
|
80
|
+
/** Idempotent: preserve saved state when compute is already stopped; save and stop any remaining compute, including during reconciliation of a suspended machine. */
|
|
80
81
|
suspend?(context: PluginMachineProviderResourceLifecycleContext): Promise<PluginMachineProviderResourceResult>;
|
|
82
|
+
/** Idempotent: reuse existing running compute instead of allocating a duplicate. */
|
|
81
83
|
resume?(context: PluginMachineProviderResourceLifecycleContext): Promise<PluginMachineProviderResourceResult>;
|
|
82
84
|
remove(context: PluginMachineProviderRemoveContext): Promise<PluginMachineProviderRemoveResult>;
|
|
83
85
|
}
|
|
@@ -272,6 +274,7 @@ declare const threadResponseSchema: z.ZodObject<{
|
|
|
272
274
|
id: z.ZodString;
|
|
273
275
|
lastReadAt: z.ZodNullable<z.ZodNumber>;
|
|
274
276
|
latestAttentionAt: z.ZodNumber;
|
|
277
|
+
lifecycleOwnerThreadId: z.ZodNullable<z.ZodString>;
|
|
275
278
|
originKind: z.ZodNullable<z.ZodEnum<{
|
|
276
279
|
fork: "fork";
|
|
277
280
|
}>>;
|
|
@@ -701,6 +704,8 @@ interface PluginProviderOptionsContext {
|
|
|
701
704
|
}
|
|
702
705
|
/** See {@link PluginProviderDeclaration.models}. */
|
|
703
706
|
type PluginProviderModelCatalogScope = "host" | "workspace";
|
|
707
|
+
/** See {@link PluginProviderDeclaration.completedTurnDisplay}. */
|
|
708
|
+
type PluginProviderCompletedTurnDisplay = "collapse" | "flat";
|
|
704
709
|
/**
|
|
705
710
|
* One cold-cache fallback model. The provider's live `model/list` result is
|
|
706
711
|
* the only real model source; this list stands in only while no probe has
|
|
@@ -807,6 +812,16 @@ interface PluginProviderDeclaration {
|
|
|
807
812
|
/** Composer actions this provider supports. No duplicates; may be empty
|
|
808
813
|
* (the universal skills typeahead is implicit). */
|
|
809
814
|
composerActions: readonly PluginProviderComposerAction[];
|
|
815
|
+
/**
|
|
816
|
+
* How the thread timeline shows this provider's turns once they finish.
|
|
817
|
+
* `"collapse"` (the default) folds a finished turn's work into one
|
|
818
|
+
* "Worked for" row and leaves the final answer visible. `"flat"` keeps
|
|
819
|
+
* every row of a finished turn visible, as it was while the turn ran. This
|
|
820
|
+
* is only the provider's default: the user can choose either display for
|
|
821
|
+
* each provider in Settings → Providers or with
|
|
822
|
+
* `bb settings completed-turns`, and that choice wins.
|
|
823
|
+
*/
|
|
824
|
+
completedTurnDisplay?: PluginProviderCompletedTurnDisplay;
|
|
810
825
|
/** Provider copy for core surfaces ({@link PluginProviderStrings}). */
|
|
811
826
|
strings?: PluginProviderStrings;
|
|
812
827
|
/** Service tiers this provider accepts, as picker options. Non-empty when
|
|
@@ -920,6 +935,7 @@ type NormalizedPluginProviderDeclaration = Omit<PluginProviderDeclaration, "expe
|
|
|
920
935
|
readonly experimental_nativeSkillRoots?: ProviderNativeRoots;
|
|
921
936
|
readonly experimental_nativeCommandRoots?: ProviderNativeRoots;
|
|
922
937
|
readonly experimental_resolvesNativeRoots: boolean;
|
|
938
|
+
readonly completedTurnDisplay: PluginProviderCompletedTurnDisplay;
|
|
923
939
|
readonly maintenance: {
|
|
924
940
|
readonly health: boolean;
|
|
925
941
|
readonly usage: boolean;
|