@mcp-b/react-components 0.49.0 → 0.50.0
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/dist/{AgentChatQueue-C_Jaw3Ia.d.ts → AgentChatQueue-MrHhV901.d.ts} +1 -1
- package/dist/AgentMessageParts-C7L-Mv9U.d.ts +46 -0
- package/dist/AppTopBar-CVkLRdk7.d.ts +99 -0
- package/dist/{CodeBlock-g8sADidM.js → CodeBlock-BMK6CW9D.js} +1 -1
- package/dist/Dialog-88GF7_Th.d.ts +107 -0
- package/dist/{FileTree-H8mMg4rV.js → FileTree-okaLnS5j.js} +20 -9
- package/dist/Form-CM7GNTwR.d.ts +91 -0
- package/dist/ManagerOffice-5pEFpoV3.js +1146 -0
- package/dist/McpConnectorForm--HB0MEGC.d.ts +39 -0
- package/dist/{Menu-yb6QXWA3.d.ts → Menu-CgfUZhZd.d.ts} +1 -1
- package/dist/Popover-CgHG5DtS.d.ts +220 -0
- package/dist/{PromptInput-C4Mofitz.d.ts → PromptInput-DGPrCTPl.d.ts} +3 -2
- package/dist/ResponsiveSidebarShell-CAmmtQTR.d.ts +128 -0
- package/dist/SessionCompaction-CmTJFpzj.d.ts +89 -0
- package/dist/SetupChecklist-O6qmgwz4.js +77 -0
- package/dist/ThinkChatActivity-DENkintt.d.ts +77 -0
- package/dist/ThinkChatContext-COIgzkYp.d.ts +28 -0
- package/dist/ThinkRoutine-Cb1DdaHa.d.ts +30 -0
- package/dist/ThinkThreadPicker-yetGX_s5.d.ts +91 -0
- package/dist/{WorkspaceFileView-DYPtRVpM.js → WorkspaceFileView-ncZuIWhC.js} +2 -2
- package/dist/WorkspaceMessageResponse-8lOSAbw_.d.ts +48 -0
- package/dist/codex-model-catalog-BBN_gWcc.d.ts +155 -0
- package/dist/components/agents-sdk/AgentActivity.js +1 -1
- package/dist/components/agents-sdk/AgentChat.d.ts +3 -3
- package/dist/components/agents-sdk/AgentChat.js +8 -8
- package/dist/components/agents-sdk/AgentChatQueue.d.ts +1 -1
- package/dist/components/agents-sdk/AgentEvent.js +2 -2
- package/dist/components/agents-sdk/BrowserLiveScreen.js +1 -1
- package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
- package/dist/components/agents-sdk/BrowserReplay.js +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.js +1 -1
- package/dist/components/agents-sdk/DiscordConnectionDialog.d.ts +20 -0
- package/dist/components/agents-sdk/DiscordConnectionDialog.js +65 -0
- package/dist/components/agents-sdk/EmployeeApp.d.ts +49 -0
- package/dist/components/agents-sdk/EmployeeApp.js +57 -0
- package/dist/components/agents-sdk/EmployeeChat.d.ts +63 -0
- package/dist/components/agents-sdk/EmployeeChat.js +84 -0
- package/dist/components/agents-sdk/EmployeeChrome.d.ts +10 -2
- package/dist/components/agents-sdk/EmployeeChrome.js +26 -16
- package/dist/components/agents-sdk/EmployeeSchedules.d.ts +24 -0
- package/dist/components/agents-sdk/EmployeeSchedules.js +105 -0
- package/dist/components/agents-sdk/EmployeeStartScreen.d.ts +43 -0
- package/dist/components/agents-sdk/EmployeeStartScreen.js +133 -0
- package/dist/components/agents-sdk/ManagerAccountActions.d.ts +29 -0
- package/dist/components/agents-sdk/ManagerAccountActions.js +62 -0
- package/dist/components/agents-sdk/ManagerOffice.d.ts +1 -1
- package/dist/components/agents-sdk/ManagerOffice.js +1 -1145
- package/dist/components/agents-sdk/ManagerOfficeScreens.d.ts +49 -0
- package/dist/components/agents-sdk/ManagerOfficeScreens.js +198 -0
- package/dist/components/agents-sdk/McpConnectionRequest.d.ts +1 -1
- package/dist/components/agents-sdk/McpConnectionRequest.js +3 -3
- package/dist/components/agents-sdk/McpConnectorForm.d.ts +1 -38
- package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
- package/dist/components/agents-sdk/McpPluginCatalog.d.ts +3 -3
- package/dist/components/agents-sdk/McpPluginCatalog.js +4 -4
- package/dist/components/agents-sdk/McpServerIcon.d.ts +1 -1
- package/dist/components/agents-sdk/McpServerPicker.d.ts +4 -4
- package/dist/components/agents-sdk/McpServerPicker.js +2 -2
- package/dist/components/agents-sdk/ModelEndpointDialog.d.ts +31 -0
- package/dist/components/agents-sdk/ModelEndpointDialog.js +118 -0
- package/dist/components/agents-sdk/ModelSelector.d.ts +1 -1
- package/dist/components/agents-sdk/ModelSelector.js +4 -4
- package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
- package/dist/components/agents-sdk/PromptInputCommands.d.ts +1 -1
- package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
- package/dist/components/agents-sdk/SessionCompaction.d.ts +1 -88
- package/dist/components/agents-sdk/SlackConnectionDialog.d.ts +18 -0
- package/dist/components/agents-sdk/SlackConnectionDialog.js +48 -0
- package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
- package/dist/components/agents-sdk/SubagentRunPanel.js +1 -1
- package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
- package/dist/components/agents-sdk/ThinkChat.d.ts +6 -6
- package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -76
- package/dist/components/agents-sdk/ThinkChatActivity.js +3 -3
- package/dist/components/agents-sdk/ThinkChatContext.d.ts +1 -27
- package/dist/components/agents-sdk/ThinkChatToolPanels.js +2 -2
- package/dist/components/agents-sdk/ThinkExecutionDetail.js +2 -2
- package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +3 -3
- package/dist/components/agents-sdk/ThinkRecoveryNotice.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutine.d.ts +1 -29
- package/dist/components/agents-sdk/ThinkRoutineActions.d.ts +2 -2
- package/dist/components/agents-sdk/ThinkRoutineActions.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineBrowser.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutineBrowser.js +3 -3
- package/dist/components/agents-sdk/ThinkRoutineDetail.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutineForm.js +4 -4
- package/dist/components/agents-sdk/ThinkRoutineRuns.js +1 -1
- package/dist/components/agents-sdk/ThinkThreadPicker.d.ts +1 -90
- package/dist/components/agents-sdk/ThinkThreadPicker.js +3 -3
- package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
- package/dist/components/agents-sdk/WorkspaceCorrespondence.js +6 -6
- package/dist/components/agents-sdk/WorkspaceExecution.js +7 -7
- package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
- package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
- package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
- package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -47
- package/dist/components/agents-sdk/WorkspaceMountManager.js +2 -2
- package/dist/components/agents-sdk/WorkspaceProject.js +4 -4
- package/dist/components/agents-sdk/WorkspaceUserScript.js +4 -4
- package/dist/components/ai-sdk/Activity.js +1 -1
- package/dist/components/ai-sdk/AgentChatMessageEditor.js +5 -1
- package/dist/components/ai-sdk/AgentChatStartScreen.d.ts +1 -1
- package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
- package/dist/components/ai-sdk/AgentMessageParts.d.ts +1 -45
- package/dist/components/ai-sdk/Approval.js +2 -2
- package/dist/components/ai-sdk/Artifact.js +1 -1
- package/dist/components/ai-sdk/ChainOfThought.js +1 -1
- package/dist/components/ai-sdk/Checkpoint.js +1 -1
- package/dist/components/ai-sdk/CodeBlock.js +1 -1
- package/dist/components/ai-sdk/ComposerLink.js +1 -1
- package/dist/components/ai-sdk/ConnectedAppCards.js +3 -3
- package/dist/components/ai-sdk/Context.d.ts +1 -1
- package/dist/components/ai-sdk/Context.js +1 -1
- package/dist/components/ai-sdk/Conversation.js +1 -1
- package/dist/components/ai-sdk/Goal.js +1 -1
- package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
- package/dist/components/ai-sdk/Message.js +2 -2
- package/dist/components/ai-sdk/MessageScroller.js +1 -1
- package/dist/components/ai-sdk/MessageScrollerVirtual.js +2 -1
- package/dist/components/ai-sdk/Plan.d.ts +1 -1
- package/dist/components/ai-sdk/Plan.js +1 -1
- package/dist/components/ai-sdk/PromptInput.d.ts +1 -1
- package/dist/components/ai-sdk/PromptInput.js +7 -7
- package/dist/components/ai-sdk/Queue.js +1 -1
- package/dist/components/ai-sdk/Reasoning.js +1 -1
- package/dist/components/ai-sdk/Sources.js +1 -1
- package/dist/components/ai-sdk/Task.js +1 -1
- package/dist/components/extension/ChatGptSignInScreen.js +1 -1
- package/dist/components/extension/CodexModelSelector.d.ts +2 -2
- package/dist/components/extension/CodexModelSelector.js +3 -3
- package/dist/components/extension/ConversationTabPicker.js +2 -2
- package/dist/components/foundations/Checkbox.js +1 -1
- package/dist/components/foundations/Collapsible.js +1 -1
- package/dist/components/foundations/ContextMenu.d.ts +10 -23
- package/dist/components/foundations/ContextMenu.js +3 -2
- package/dist/components/foundations/Dialog.d.ts +1 -106
- package/dist/components/foundations/Form.d.ts +1 -90
- package/dist/components/foundations/Menu.d.ts +1 -1
- package/dist/components/foundations/Menubar.d.ts +1 -1
- package/dist/components/foundations/Menubar.js +1 -1
- package/dist/components/foundations/Popover.d.ts +1 -219
- package/dist/components/foundations/PreviewCard.d.ts +1 -1
- package/dist/components/foundations/SearchField.js +1 -1
- package/dist/components/foundations/Select.js +1 -1
- package/dist/components/foundations/Stepper.js +1 -1
- package/dist/components/foundations/Toast.js +1 -1
- package/dist/components/foundations/ToggleGroup.d.ts +1 -1
- package/dist/components/foundations/ToggleGroup.js +1 -1
- package/dist/components/foundations/Tooltip.d.ts +1 -1
- package/dist/components/foundations/icons.js +1 -1
- package/dist/components/general-purpose/AccountSignInDialog.d.ts +26 -0
- package/dist/components/general-purpose/AccountSignInDialog.js +25 -0
- package/dist/components/general-purpose/AppTopBar.d.ts +1 -98
- package/dist/components/general-purpose/Commit.js +2 -2
- package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
- package/dist/components/general-purpose/FileTree.js +1 -1
- package/dist/components/general-purpose/NotificationPrompt.d.ts +13 -0
- package/dist/components/general-purpose/NotificationPrompt.js +18 -0
- package/dist/components/general-purpose/PricingPlanCard.js +2 -2
- package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
- package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +1 -127
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +124 -72
- package/dist/components/general-purpose/SettingsFormDialog.d.ts +2 -2
- package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
- package/dist/components/general-purpose/SetupChecklist.js +1 -76
- package/dist/components/general-purpose/StatusScreen.d.ts +10 -0
- package/dist/components/general-purpose/StatusScreen.js +13 -0
- package/dist/components/general-purpose/Terminal.js +2 -2
- package/dist/components/general-purpose/TestResults.js +1 -1
- package/dist/components/general-purpose/ThemeModeControl.js +2 -2
- package/dist/components/general-purpose/WebPreview.js +2 -2
- package/dist/components/nanites/AgentConnection.js +2 -2
- package/dist/components/nanites/AgentToolDetail.d.ts +1 -1
- package/dist/components/nanites/AgentToolDetail.js +4 -4
- package/dist/{copy-button-CSDuDfdP.js → copy-button-Dk2vRe9j.js} +1 -1
- package/dist/mcp-server-catalog-D9p4gGeJ.d.ts +1112 -0
- package/dist/styles/accessibility.css +20 -0
- package/dist/styles/agent-chat.css +1 -1
- package/dist/styles/base.css +0 -8
- package/dist/styles/codex-model-selector.css +4 -0
- package/dist/styles/color-contrast.test.ts +212 -0
- package/dist/styles/employee-app.css +29 -0
- package/dist/styles/file-tree.css +5 -1
- package/dist/styles/index.css +2 -0
- package/dist/styles/manager-office.css +5 -5
- package/dist/styles/manager-work.css +93 -0
- package/dist/styles/responsive-sidebar-shell.css +1 -1
- package/dist/utils/codex-model-catalog.d.ts +1 -135
- package/dist/utils/codex-model-catalog.js +22 -5
- package/dist/utils/mcp-server-catalog.d.ts +1 -1111
- package/dist/{workspace-assets-Bg7XhPsk.js → workspace-assets-wW_lQLYK.js} +2 -2
- package/package.json +3 -3
- package/dist/{icons-cuEtsgj9.js → icons-CeGfXO21.js} +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { c as McpServerSetupAuth, u as McpServerSetupAuthFieldName } from "./mcp-server-catalog-D9p4gGeJ.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/agents-sdk/McpConnectorForm.d.ts
|
|
5
|
+
type CredentialFieldName = Exclude<McpServerSetupAuthFieldName, "redirectUrl">;
|
|
6
|
+
type McpConnectorFormValues = Readonly<Partial<Record<CredentialFieldName, string>> & {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly url: string;
|
|
9
|
+
}>;
|
|
10
|
+
type McpConnectorFormProps = Omit<React.FormHTMLAttributes<HTMLFormElement>, "onSubmit" | "status"> & {
|
|
11
|
+
/** Authentication metadata that decides which credential fields render. */readonly auth?: McpServerSetupAuth; /** Initial connector values. Publisher client credentials remain app-owned. */
|
|
12
|
+
readonly defaults?: Partial<McpConnectorFormValues>; /** Optional pattern used to validate the MCP name field. */
|
|
13
|
+
readonly namePattern?: string; /** Keep a catalog-owned MCP name and URL visible but immutable. */
|
|
14
|
+
readonly readOnlyServer?: boolean; /** Read-only redirect URL shown for manual OAuth client setup. */
|
|
15
|
+
readonly redirectUrl?: string; /** Inline connection status announced politely to assistive tech. */
|
|
16
|
+
readonly status?: React.ReactNode; /** Label for the submit button. */
|
|
17
|
+
readonly submitLabel?: string; /** Label shown while submit is pending. */
|
|
18
|
+
readonly submittingLabel?: string; /** Called with normalized connector values after native form validation passes. */
|
|
19
|
+
readonly onSubmit: (values: McpConnectorFormValues) => void | Promise<void>;
|
|
20
|
+
};
|
|
21
|
+
/** Collects MCP connector settings and optional credentials with native form validation. */
|
|
22
|
+
declare function McpConnectorForm({
|
|
23
|
+
auth,
|
|
24
|
+
className,
|
|
25
|
+
defaults,
|
|
26
|
+
namePattern,
|
|
27
|
+
readOnlyServer,
|
|
28
|
+
redirectUrl,
|
|
29
|
+
status,
|
|
30
|
+
submitLabel,
|
|
31
|
+
submittingLabel,
|
|
32
|
+
onSubmit,
|
|
33
|
+
ref,
|
|
34
|
+
...props
|
|
35
|
+
}: McpConnectorFormProps & {
|
|
36
|
+
/** Ref forwarded to the component's rendered root element. */ref?: React.Ref<HTMLFormElement>;
|
|
37
|
+
}): React.JSX.Element;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { McpConnectorFormProps as n, McpConnectorFormValues as r, McpConnectorForm as t };
|
|
@@ -281,7 +281,7 @@ declare function MenuSubmenuTrigger({
|
|
|
281
281
|
*/
|
|
282
282
|
declare const Menu$1: {
|
|
283
283
|
createHandle: typeof Menu.createHandle;
|
|
284
|
-
Root: <Payload>(props: Menu.Root.Props<Payload>) =>
|
|
284
|
+
Root: <Payload>(props: Menu.Root.Props<Payload>) => React.JSX.Element;
|
|
285
285
|
Trigger: typeof MenuTrigger;
|
|
286
286
|
Portal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
287
287
|
Positioner: typeof MenuPositioner;
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Popover } from "@base-ui/react/popover";
|
|
3
|
+
|
|
4
|
+
//#region src/components/foundations/Popover.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Props for the Popover.Root component.
|
|
7
|
+
*/
|
|
8
|
+
type PopoverProps<Payload = unknown> = Popover.Root.Props<Payload>;
|
|
9
|
+
/**
|
|
10
|
+
* Props for the Popover.Trigger component.
|
|
11
|
+
*/
|
|
12
|
+
type PopoverTriggerProps<Payload = unknown> = Popover.Trigger.Props<Payload> & React.RefAttributes<HTMLElement> & {
|
|
13
|
+
/** Keep Base UI trigger behavior without the default popover trigger chrome. */unstyled?: boolean;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Props for the Popover.Portal component.
|
|
17
|
+
*/
|
|
18
|
+
interface PopoverPortalProps extends React.ComponentPropsWithoutRef<typeof Popover.Portal> {}
|
|
19
|
+
/**
|
|
20
|
+
* Props for the Popover.Backdrop component.
|
|
21
|
+
*/
|
|
22
|
+
interface PopoverBackdropProps extends React.ComponentPropsWithoutRef<typeof Popover.Backdrop> {}
|
|
23
|
+
/**
|
|
24
|
+
* Props for the Popover.Positioner component.
|
|
25
|
+
*/
|
|
26
|
+
interface PopoverPositionerProps extends React.ComponentPropsWithoutRef<typeof Popover.Positioner> {}
|
|
27
|
+
/**
|
|
28
|
+
* Props for the Popover.Popup component.
|
|
29
|
+
*/
|
|
30
|
+
interface PopoverPopupProps extends React.ComponentPropsWithoutRef<typeof Popover.Popup> {}
|
|
31
|
+
/**
|
|
32
|
+
* Props for the Popover.Viewport component. Use this only when one popover
|
|
33
|
+
* moves between triggers and its content changes during that transition.
|
|
34
|
+
*/
|
|
35
|
+
interface PopoverViewportProps extends React.ComponentPropsWithoutRef<typeof Popover.Viewport> {}
|
|
36
|
+
/**
|
|
37
|
+
* Props for the Popover.Arrow component.
|
|
38
|
+
*/
|
|
39
|
+
interface PopoverArrowProps extends React.ComponentPropsWithoutRef<typeof Popover.Arrow> {}
|
|
40
|
+
/**
|
|
41
|
+
* Props for the Popover.Title component.
|
|
42
|
+
*/
|
|
43
|
+
interface PopoverTitleProps extends React.ComponentPropsWithoutRef<typeof Popover.Title> {}
|
|
44
|
+
/**
|
|
45
|
+
* Props for the Popover.Description component.
|
|
46
|
+
*/
|
|
47
|
+
interface PopoverDescriptionProps extends React.ComponentPropsWithoutRef<typeof Popover.Description> {}
|
|
48
|
+
/**
|
|
49
|
+
* Props for the Popover.Close component.
|
|
50
|
+
*/
|
|
51
|
+
interface PopoverCloseProps extends React.ComponentPropsWithoutRef<typeof Popover.Close> {}
|
|
52
|
+
interface PopoverHeaderProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
53
|
+
/**
|
|
54
|
+
* Button that toggles the popover visibility.
|
|
55
|
+
* Renders a `<button>` element.
|
|
56
|
+
*/
|
|
57
|
+
declare function PopoverTrigger<Payload>({
|
|
58
|
+
className,
|
|
59
|
+
unstyled,
|
|
60
|
+
ref,
|
|
61
|
+
...props
|
|
62
|
+
}: PopoverTriggerProps<Payload>): React.JSX.Element;
|
|
63
|
+
/**
|
|
64
|
+
* Optional backdrop that appears behind the popover.
|
|
65
|
+
*/
|
|
66
|
+
declare function PopoverBackdrop({
|
|
67
|
+
className,
|
|
68
|
+
ref,
|
|
69
|
+
...props
|
|
70
|
+
}: PopoverBackdropProps & {
|
|
71
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
72
|
+
}): React.JSX.Element;
|
|
73
|
+
/**
|
|
74
|
+
* Positions the popup relative to the trigger element.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```tsx
|
|
78
|
+
* // Position on the right with offset
|
|
79
|
+
* <Popover.Positioner side="right" sideOffset={8}>
|
|
80
|
+
* <Popover.Popup>...</Popover.Popup>
|
|
81
|
+
* </Popover.Positioner>
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
declare function PopoverPositioner({
|
|
85
|
+
className,
|
|
86
|
+
ref,
|
|
87
|
+
...props
|
|
88
|
+
}: PopoverPositionerProps & {
|
|
89
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
90
|
+
}): React.JSX.Element;
|
|
91
|
+
/**
|
|
92
|
+
* The popup container that holds the popover content.
|
|
93
|
+
*/
|
|
94
|
+
declare function PopoverPopup({
|
|
95
|
+
className,
|
|
96
|
+
ref,
|
|
97
|
+
...props
|
|
98
|
+
}: PopoverPopupProps & {
|
|
99
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
100
|
+
}): React.JSX.Element;
|
|
101
|
+
/**
|
|
102
|
+
* Transition container for content that changes as a popover moves between
|
|
103
|
+
* triggers. Pair the adaptive classes from `base-ui-motion.css` with the
|
|
104
|
+
* positioner, popup, and this viewport when that behavior is needed.
|
|
105
|
+
*/
|
|
106
|
+
declare function PopoverViewport({
|
|
107
|
+
className,
|
|
108
|
+
ref,
|
|
109
|
+
...props
|
|
110
|
+
}: PopoverViewportProps & {
|
|
111
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
112
|
+
}): React.JSX.Element;
|
|
113
|
+
declare function PopoverHeader({
|
|
114
|
+
className,
|
|
115
|
+
ref,
|
|
116
|
+
...props
|
|
117
|
+
}: PopoverHeaderProps & {
|
|
118
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
119
|
+
}): React.JSX.Element;
|
|
120
|
+
/**
|
|
121
|
+
* Directional arrow pointing to the trigger element.
|
|
122
|
+
*/
|
|
123
|
+
declare function PopoverArrow({
|
|
124
|
+
className,
|
|
125
|
+
ref,
|
|
126
|
+
...props
|
|
127
|
+
}: PopoverArrowProps & {
|
|
128
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
129
|
+
}): React.JSX.Element;
|
|
130
|
+
/**
|
|
131
|
+
* Semantic title for the popover content.
|
|
132
|
+
* Renders an `<h2>` element.
|
|
133
|
+
*/
|
|
134
|
+
declare function PopoverTitle({
|
|
135
|
+
className,
|
|
136
|
+
ref,
|
|
137
|
+
...props
|
|
138
|
+
}: PopoverTitleProps & {
|
|
139
|
+
ref?: React.Ref<HTMLHeadingElement>;
|
|
140
|
+
}): React.JSX.Element;
|
|
141
|
+
/**
|
|
142
|
+
* Description text for the popover content.
|
|
143
|
+
* Renders a `<p>` element.
|
|
144
|
+
*/
|
|
145
|
+
declare function PopoverDescription({
|
|
146
|
+
className,
|
|
147
|
+
ref,
|
|
148
|
+
...props
|
|
149
|
+
}: PopoverDescriptionProps & {
|
|
150
|
+
ref?: React.Ref<HTMLParagraphElement>;
|
|
151
|
+
}): React.JSX.Element;
|
|
152
|
+
/**
|
|
153
|
+
* Button that closes the popover.
|
|
154
|
+
*/
|
|
155
|
+
declare function PopoverClose({
|
|
156
|
+
render,
|
|
157
|
+
className,
|
|
158
|
+
ref,
|
|
159
|
+
...props
|
|
160
|
+
}: PopoverCloseProps & {
|
|
161
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
162
|
+
}): React.JSX.Element;
|
|
163
|
+
/**
|
|
164
|
+
* An accessible popup anchored to a trigger button.
|
|
165
|
+
* Supports flexible positioning, animations, and optional backdrop.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```tsx
|
|
169
|
+
* // Basic popover
|
|
170
|
+
* <Popover.Root>
|
|
171
|
+
* <Popover.Trigger>Click me</Popover.Trigger>
|
|
172
|
+
* <Popover.Portal>
|
|
173
|
+
* <Popover.Positioner>
|
|
174
|
+
* <Popover.Popup>
|
|
175
|
+
* <Popover.Title>Settings</Popover.Title>
|
|
176
|
+
* <Popover.Description>
|
|
177
|
+
* Configure your preferences here.
|
|
178
|
+
* </Popover.Description>
|
|
179
|
+
* <Popover.Close>Close</Popover.Close>
|
|
180
|
+
* </Popover.Popup>
|
|
181
|
+
* </Popover.Positioner>
|
|
182
|
+
* </Popover.Portal>
|
|
183
|
+
* </Popover.Root>
|
|
184
|
+
* ```
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```tsx
|
|
188
|
+
* // With arrow and custom positioning
|
|
189
|
+
* <Popover.Root>
|
|
190
|
+
* <Popover.Trigger>Info</Popover.Trigger>
|
|
191
|
+
* <Popover.Portal>
|
|
192
|
+
* <Popover.Positioner side="right" sideOffset={8}>
|
|
193
|
+
* <Popover.Popup>
|
|
194
|
+
* <Popover.Arrow />
|
|
195
|
+
* <p>Additional information</p>
|
|
196
|
+
* </Popover.Popup>
|
|
197
|
+
* </Popover.Positioner>
|
|
198
|
+
* </Popover.Portal>
|
|
199
|
+
* </Popover.Root>
|
|
200
|
+
* ```
|
|
201
|
+
*
|
|
202
|
+
* @see {@link https://base-ui.com/react/components/popover | Base UI Popover}
|
|
203
|
+
*/
|
|
204
|
+
declare const Popover$1: {
|
|
205
|
+
createHandle: typeof Popover.createHandle;
|
|
206
|
+
Root: typeof Popover.Root;
|
|
207
|
+
Trigger: typeof PopoverTrigger;
|
|
208
|
+
Portal: (props: PopoverPortalProps) => React.JSX.Element;
|
|
209
|
+
Backdrop: typeof PopoverBackdrop;
|
|
210
|
+
Positioner: typeof PopoverPositioner;
|
|
211
|
+
Popup: typeof PopoverPopup;
|
|
212
|
+
Viewport: typeof PopoverViewport;
|
|
213
|
+
Header: typeof PopoverHeader;
|
|
214
|
+
Arrow: typeof PopoverArrow;
|
|
215
|
+
Title: typeof PopoverTitle;
|
|
216
|
+
Description: typeof PopoverDescription;
|
|
217
|
+
Close: typeof PopoverClose;
|
|
218
|
+
};
|
|
219
|
+
//#endregion
|
|
220
|
+
export { PopoverDescriptionProps as a, PopoverPortalProps as c, PopoverTitleProps as d, PopoverTriggerProps as f, PopoverCloseProps as i, PopoverPositionerProps as l, PopoverArrowProps as n, PopoverHeaderProps as o, PopoverViewportProps as p, PopoverBackdropProps as r, PopoverPopupProps as s, Popover$1 as t, PopoverProps as u };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as MenuProps, s as MenuItemProps, t as Menu } from "./Menu-
|
|
1
|
+
import { d as MenuProps, s as MenuItemProps, t as Menu } from "./Menu-CgfUZhZd.js";
|
|
2
2
|
import { a as TabsListProps, n as TabProps, t as TabPanelProps } from "./Tabs-Ptrbaynh.js";
|
|
3
3
|
import { r as ButtonProps } from "./Button-DjONW5UW.js";
|
|
4
4
|
import * as React from "react";
|
|
@@ -508,7 +508,8 @@ interface PromptInputCommandComposerProps extends Omit<PromptInputTextareaProps,
|
|
|
508
508
|
commands: readonly PromptInputCommandDefinition[];
|
|
509
509
|
/** MCP, tab, or other mentionable entries revealed by an `@` draft. */
|
|
510
510
|
mentionCommands?: readonly PromptInputCommandDefinition[];
|
|
511
|
-
|
|
511
|
+
/** Observe selection after the composer inserts the command into its draft. */
|
|
512
|
+
onCommandSelect?: (command: PromptInputCommandDefinition, trigger: PromptInputCommandTrigger) => void;
|
|
512
513
|
emptyMessage?: React.ReactNode;
|
|
513
514
|
mentionEmptyMessage?: React.ReactNode;
|
|
514
515
|
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { s as AppTopBarTitleProps } from "./AppTopBar-CVkLRdk7.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/general-purpose/ResponsiveSidebarShell.d.ts
|
|
5
|
+
interface ResponsiveSidebarShellControls {
|
|
6
|
+
/** The shell's current container layout, shared by in-shell and portalled controls. */
|
|
7
|
+
compact: boolean;
|
|
8
|
+
/** Close the sidebar and move focus to the main content. */
|
|
9
|
+
closeSidebar: () => void;
|
|
10
|
+
/** Close only when the shell is currently using its compact drawer layout. */
|
|
11
|
+
closeSidebarOnCompact: () => void;
|
|
12
|
+
}
|
|
13
|
+
/** Reuse the shell's measured layout and drawer controls instead of observing it again. */
|
|
14
|
+
declare function useResponsiveSidebarShell(): ResponsiveSidebarShellControls;
|
|
15
|
+
/**
|
|
16
|
+
* Bar slot content shared by every shell-owning surface's `bar` prop, so an
|
|
17
|
+
* app writes one shape whether it is configuring ThinkFullApp, the routine
|
|
18
|
+
* library, or the shell directly.
|
|
19
|
+
*/
|
|
20
|
+
interface AppBarSlots {
|
|
21
|
+
/**
|
|
22
|
+
* App-owned route element rendered as a labelled back control. Back owns
|
|
23
|
+
* the leading slot the same way `leading` does: the shell's own sidebar
|
|
24
|
+
* toggle stands down and compact sidebars stay reachable through
|
|
25
|
+
* `compactTitleTrigger`.
|
|
26
|
+
*/
|
|
27
|
+
back?: {
|
|
28
|
+
label: string;
|
|
29
|
+
link: React.ReactElement;
|
|
30
|
+
};
|
|
31
|
+
/** App-owned leading navigation that owns the leading slot at every width. */
|
|
32
|
+
leading?: React.ReactNode;
|
|
33
|
+
/** Compact-only navigation that replaces the drawer trigger without hiding the wide rail toggle. */
|
|
34
|
+
compactLeading?: React.ReactNode;
|
|
35
|
+
/** Bar title content. Hidden at compact widths when `compactTitleTrigger` stands in. */
|
|
36
|
+
title?: React.ReactNode;
|
|
37
|
+
/** Trailing group, before `primary`. Overflow menus and secondary icon controls. */
|
|
38
|
+
actions?: React.ReactNode;
|
|
39
|
+
/**
|
|
40
|
+
* Rightmost trailing control. Sits after `actions` so a host can keep a
|
|
41
|
+
* single primary action (new thread, new schedule) on the trailing edge
|
|
42
|
+
* without fighting whatever else the surface puts in the bar.
|
|
43
|
+
*/
|
|
44
|
+
primary?: React.ReactNode;
|
|
45
|
+
}
|
|
46
|
+
interface ResponsiveSidebarShellBar extends AppBarSlots {
|
|
47
|
+
/** Native title render contract, including element and render-function composition. */
|
|
48
|
+
titleRender?: AppTopBarTitleProps["render"];
|
|
49
|
+
/**
|
|
50
|
+
* Label content for a compact-width drawer trigger that replaces the plain
|
|
51
|
+
* title and the icon toggle: the title itself becomes the control that opens
|
|
52
|
+
* the sidebar. The shell renders the button and the disclosure chevron.
|
|
53
|
+
*/
|
|
54
|
+
compactTitleTrigger?: React.ReactNode;
|
|
55
|
+
/** Accessible name for the bar toolbar. Defaults to "Application controls". */
|
|
56
|
+
label?: string;
|
|
57
|
+
/** Class for the bar root, the owning surface's styling hook. */
|
|
58
|
+
className?: string;
|
|
59
|
+
/**
|
|
60
|
+
* No bar row at all — for content that brings its own application bar.
|
|
61
|
+
* Distinct from passing no slots: an empty shell with a sidebar still shows
|
|
62
|
+
* a bar carrying the toggle.
|
|
63
|
+
*/
|
|
64
|
+
hidden?: boolean;
|
|
65
|
+
}
|
|
66
|
+
interface ResponsiveSidebarShellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "title"> {
|
|
67
|
+
/**
|
|
68
|
+
* Navigation or other secondary surface shown beside the selected content.
|
|
69
|
+
* Omit for a shell that is only a bar row over content — the app bar then
|
|
70
|
+
* has one mount point whether or not a sidebar exists.
|
|
71
|
+
*
|
|
72
|
+
* Open/closed is shell-internal: it is ephemeral presentation state, not a
|
|
73
|
+
* route, so no host controls it and no resize ever writes into a router.
|
|
74
|
+
*/
|
|
75
|
+
sidebar?: React.ReactNode | ((controls: ResponsiveSidebarShellControls) => React.ReactNode);
|
|
76
|
+
/** Main content. */
|
|
77
|
+
children?: React.ReactNode;
|
|
78
|
+
/** Short noun used by the toggle and resize control, such as “threads” or “schedules”. */
|
|
79
|
+
sidebarLabel?: string;
|
|
80
|
+
/** Whether the sidebar is open. Omit for internal state. */
|
|
81
|
+
sidebarOpen?: boolean;
|
|
82
|
+
/** Move the wide-layout toggle into the sidebar while it is open. */
|
|
83
|
+
sidebarTogglePlacement?: "main" | "sidebar";
|
|
84
|
+
/** Initial sidebar state when `sidebarOpen` is uncontrolled. */
|
|
85
|
+
defaultSidebarOpen?: boolean;
|
|
86
|
+
/** Called when the sidebar is opened or closed. */
|
|
87
|
+
onSidebarOpenChange?: (open: boolean) => void;
|
|
88
|
+
/** Initial desktop sidebar width in CSS pixels. */
|
|
89
|
+
defaultSidebarWidth?: number;
|
|
90
|
+
/** Shell-owned application bar composed from slots. */
|
|
91
|
+
bar?: ResponsiveSidebarShellBar;
|
|
92
|
+
/**
|
|
93
|
+
* Host-owned error shown in the main column above the content, without
|
|
94
|
+
* replacing it. The shell renders the alert anatomy; pass the message.
|
|
95
|
+
*/
|
|
96
|
+
error?: React.ReactNode;
|
|
97
|
+
/** Accessible name for the mobile peek target that returns to the main content. */
|
|
98
|
+
showMainLabel?: string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* The one application shell: responsive master-detail with a resizable desktop
|
|
102
|
+
* sidebar, a compact floating drawer that leaves the main content in place as
|
|
103
|
+
* a dismiss target, and a shell-owned application bar composed from slots.
|
|
104
|
+
* The root exposes `data-sidebar-open="true" | "false"` as its public styling
|
|
105
|
+
* hook, and its container name `responsive-sidebar-shell` is public contract:
|
|
106
|
+
* surfaces that compose the shell size themselves against it.
|
|
107
|
+
*/
|
|
108
|
+
declare function ResponsiveSidebarShell({
|
|
109
|
+
sidebar,
|
|
110
|
+
sidebarLabel,
|
|
111
|
+
sidebarOpen,
|
|
112
|
+
sidebarTogglePlacement,
|
|
113
|
+
defaultSidebarOpen,
|
|
114
|
+
defaultSidebarWidth,
|
|
115
|
+
onSidebarOpenChange,
|
|
116
|
+
bar,
|
|
117
|
+
error,
|
|
118
|
+
showMainLabel,
|
|
119
|
+
className,
|
|
120
|
+
children,
|
|
121
|
+
ref,
|
|
122
|
+
style,
|
|
123
|
+
...props
|
|
124
|
+
}: ResponsiveSidebarShellProps & {
|
|
125
|
+
/** Ref forwarded to the component's rendered root element. */ref?: React.Ref<HTMLDivElement>;
|
|
126
|
+
}): React.JSX.Element;
|
|
127
|
+
//#endregion
|
|
128
|
+
export { ResponsiveSidebarShellProps as a, ResponsiveSidebarShellControls as i, ResponsiveSidebarShell as n, useResponsiveSidebarShell as o, ResponsiveSidebarShellBar as r, AppBarSlots as t };
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { ChatStatus, UIMessage } from "ai";
|
|
2
|
+
|
|
3
|
+
//#region src/components/agents-sdk/SessionCompaction.d.ts
|
|
4
|
+
type SessionStatusPhase = "idle" | "compacting";
|
|
5
|
+
interface SessionStatusFrame {
|
|
6
|
+
phase: SessionStatusPhase;
|
|
7
|
+
/** Present on the idle frame that follows a successful compaction. */
|
|
8
|
+
compacted: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Session's own estimate for the history this frame describes, or null when
|
|
11
|
+
* the frame omits it or carries a non-finite value. Not provider-reported
|
|
12
|
+
* usage — never render it as an exact token count, and never feed it to the
|
|
13
|
+
* `Context` ring, which reads `metadata.usage`.
|
|
14
|
+
*/
|
|
15
|
+
tokenEstimate: number | null;
|
|
16
|
+
/**
|
|
17
|
+
* The same estimate taken before the compaction this frame reports, from its
|
|
18
|
+
* `compacted` payload. Null on every other frame. Both numbers come from one
|
|
19
|
+
* estimator over one history, so their difference is a meaningful size even
|
|
20
|
+
* though neither is exact.
|
|
21
|
+
*/
|
|
22
|
+
tokensBefore: number | null;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse a raw websocket payload as a `cf_agent_session` status frame.
|
|
26
|
+
* Returns null for every other frame on the connection.
|
|
27
|
+
*/
|
|
28
|
+
declare function parseSessionStatusFrame(data: unknown): SessionStatusFrame | null;
|
|
29
|
+
/**
|
|
30
|
+
* Parse a raw websocket payload as a `cf_agent_session_error` frame,
|
|
31
|
+
* returning its error text. Null for every other frame on the connection.
|
|
32
|
+
*/
|
|
33
|
+
declare function parseSessionErrorFrame(data: unknown): string | null;
|
|
34
|
+
/** The message-frame surface of a `useAgent` connection. */
|
|
35
|
+
interface SessionFrameSource {
|
|
36
|
+
addEventListener(type: "message", listener: (event: MessageEvent) => void): void;
|
|
37
|
+
removeEventListener(type: "message", listener: (event: MessageEvent) => void): void;
|
|
38
|
+
}
|
|
39
|
+
interface UseSessionCompactionOptions<MessageT extends UIMessage> {
|
|
40
|
+
/** The conversation agent's `useAgent` connection. */
|
|
41
|
+
agent: SessionFrameSource;
|
|
42
|
+
/** The conversation's `useAgentChat` value (status + local view setter). */
|
|
43
|
+
chat: {
|
|
44
|
+
status: ChatStatus;
|
|
45
|
+
setMessages: (messages: MessageT[]) => void;
|
|
46
|
+
};
|
|
47
|
+
/** Server read used to reload the transcript after a compaction lands. */
|
|
48
|
+
getMessages: () => Promise<MessageT[]>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* How much a landed compaction shortened the history, per Session's own
|
|
52
|
+
* estimator. A UI may show the difference as an approximate size; it must not
|
|
53
|
+
* present either number as exact usage.
|
|
54
|
+
*/
|
|
55
|
+
interface SessionCompactionSize {
|
|
56
|
+
tokensBefore: number;
|
|
57
|
+
tokensAfter: number;
|
|
58
|
+
}
|
|
59
|
+
interface UseSessionCompactionResult {
|
|
60
|
+
compacting: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Size of the compaction that landed most recently on this connection, or
|
|
63
|
+
* null when none has landed or the frames carried no usable estimates. A new
|
|
64
|
+
* object per compaction, so a consumer can dismiss one acknowledgement by
|
|
65
|
+
* identity and still show the next. Cleared when the next compaction starts.
|
|
66
|
+
*/
|
|
67
|
+
lastCompaction: SessionCompactionSize | null;
|
|
68
|
+
/**
|
|
69
|
+
* Set when the post-compaction transcript reload rejected — the local view
|
|
70
|
+
* is stale relative to the server until a retry succeeds. Surface it
|
|
71
|
+
* ("Transcript may be out of date"); the hook retries on the next status
|
|
72
|
+
* transition to `"ready"`.
|
|
73
|
+
*/
|
|
74
|
+
reloadError: unknown;
|
|
75
|
+
/**
|
|
76
|
+
* Error text from the last `cf_agent_session_error` frame — the only signal
|
|
77
|
+
* a user who ran /compact gets when the server-side compaction itself fails
|
|
78
|
+
* (the phase just flips back to idle with no `compacted` payload). Cleared
|
|
79
|
+
* when the next compaction starts.
|
|
80
|
+
*/
|
|
81
|
+
sessionError: string | null;
|
|
82
|
+
}
|
|
83
|
+
declare function useSessionCompaction<MessageT extends UIMessage>({
|
|
84
|
+
agent,
|
|
85
|
+
chat,
|
|
86
|
+
getMessages
|
|
87
|
+
}: UseSessionCompactionOptions<MessageT>): UseSessionCompactionResult;
|
|
88
|
+
//#endregion
|
|
89
|
+
export { UseSessionCompactionOptions as a, parseSessionStatusFrame as c, SessionStatusPhase as i, useSessionCompaction as l, SessionFrameSource as n, UseSessionCompactionResult as o, SessionStatusFrame as r, parseSessionErrorFrame as s, SessionCompactionSize as t };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { n as mergeBaseClassName } from "./class-names-BiMDVpUo.js";
|
|
2
|
+
import { B as PlusIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon } from "./icons-CeGfXO21.js";
|
|
3
|
+
import { Button } from "./components/foundations/Button.js";
|
|
4
|
+
import { Menu } from "./components/foundations/Menu.js";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/_internal/menu-disclosure-group.tsx
|
|
8
|
+
/**
|
|
9
|
+
* A menu-native disclosure: its trigger stays in the menu roving-focus model,
|
|
10
|
+
* while its rows mount only after the user expands the section.
|
|
11
|
+
*/
|
|
12
|
+
function MenuDisclosureGroup({ children, className, defaultOpen = false, label, triggerClassName, ...props }) {
|
|
13
|
+
const [open, setOpen] = React.useState(defaultOpen);
|
|
14
|
+
return /* @__PURE__ */ jsxs(Menu.Group, {
|
|
15
|
+
className: mergeBaseClassName("menu-disclosure-group", className),
|
|
16
|
+
...props,
|
|
17
|
+
children: [/* @__PURE__ */ jsxs(Menu.Item, {
|
|
18
|
+
"aria-expanded": open,
|
|
19
|
+
className: mergeBaseClassName("menu-disclosure-group__trigger", triggerClassName),
|
|
20
|
+
closeOnClick: false,
|
|
21
|
+
onClick: () => setOpen((current) => !current),
|
|
22
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
23
|
+
className: "sigvelo-truncate-grow",
|
|
24
|
+
children: label
|
|
25
|
+
}), /* @__PURE__ */ jsx(ChevronDownIcon, { "aria-hidden": "true" })]
|
|
26
|
+
}), open ? /* @__PURE__ */ jsx("div", {
|
|
27
|
+
className: "menu-disclosure-group__items",
|
|
28
|
+
children
|
|
29
|
+
}) : null]
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/components/general-purpose/SetupChecklist.tsx
|
|
34
|
+
/** Checklist rows for any Menu surface (composer plus menu, tray menu). */
|
|
35
|
+
function SetupChecklistGroup({ label, entries, defaultOpen = false, onSelect }) {
|
|
36
|
+
return /* @__PURE__ */ jsx(MenuDisclosureGroup, {
|
|
37
|
+
label,
|
|
38
|
+
defaultOpen,
|
|
39
|
+
children: entries.map((entry) => /* @__PURE__ */ jsxs(Menu.Item, {
|
|
40
|
+
"aria-label": `${entry.name}, ${entry.complete ? "complete" : "not set up"}`,
|
|
41
|
+
onClick: () => onSelect(entry.id),
|
|
42
|
+
children: [
|
|
43
|
+
entry.icon,
|
|
44
|
+
/* @__PURE__ */ jsx("span", {
|
|
45
|
+
className: "sigvelo-truncate-grow",
|
|
46
|
+
children: entry.description
|
|
47
|
+
}),
|
|
48
|
+
entry.complete ? /* @__PURE__ */ jsx(CheckIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx(PlusIcon, { "aria-hidden": "true" })
|
|
49
|
+
]
|
|
50
|
+
}, entry.id))
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/** Progress-aware tray trigger opening the checklist in its own menu. */
|
|
54
|
+
function SetupChecklistAction({ actionLabel, label, entries, onSelect }) {
|
|
55
|
+
const completed = entries.filter((entry) => entry.complete).length;
|
|
56
|
+
return /* @__PURE__ */ jsxs(Menu.Root, { children: [/* @__PURE__ */ jsxs(Button, {
|
|
57
|
+
type: "button",
|
|
58
|
+
variant: "ghost",
|
|
59
|
+
color: "neutral",
|
|
60
|
+
size: "sm",
|
|
61
|
+
"aria-label": `${actionLabel} — ${completed} of ${entries.length} set up`,
|
|
62
|
+
render: /* @__PURE__ */ jsx(Menu.Trigger, { unstyled: true }),
|
|
63
|
+
children: [completed === entries.length ? /* @__PURE__ */ jsx(CheckIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx(WarningIcon, { "aria-hidden": "true" }), /* @__PURE__ */ jsx("span", { children: actionLabel })]
|
|
64
|
+
}), /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
|
|
65
|
+
side: "bottom",
|
|
66
|
+
align: "start",
|
|
67
|
+
sideOffset: 4,
|
|
68
|
+
children: /* @__PURE__ */ jsx(Menu.Popup, { children: /* @__PURE__ */ jsx(SetupChecklistGroup, {
|
|
69
|
+
defaultOpen: true,
|
|
70
|
+
label,
|
|
71
|
+
entries,
|
|
72
|
+
onSelect
|
|
73
|
+
}) })
|
|
74
|
+
}) })] });
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { SetupChecklistGroup as n, SetupChecklistAction as t };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { i as AgentMessageRenderPartContext } from "./AgentMessageParts-C7L-Mv9U.js";
|
|
2
|
+
import { AgentChatMessageContentProps } from "./components/agents-sdk/AgentChat.js";
|
|
3
|
+
import { n as AgentToolRunValue } from "./AgentToolRunsContext-GMe_hSnD.js";
|
|
4
|
+
import { l as ThinkChatPart } from "./ThinkChatToolParts-D4qcnnxt.js";
|
|
5
|
+
import { t as ThinkChatActivityDescription } from "./ThinkChatActivitySummary-BtBQgMg6.js";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { DynamicToolUIPart, ToolUIPart, UIMessage } from "ai";
|
|
8
|
+
|
|
9
|
+
//#region src/components/agents-sdk/ThinkChatActivity.d.ts
|
|
10
|
+
/**
|
|
11
|
+
* Bespoke rendering for one tool inside the activity log. Both hooks fall
|
|
12
|
+
* through to the built-in families when they return `undefined`, so an
|
|
13
|
+
* override can adjust just the action or just the panel.
|
|
14
|
+
*/
|
|
15
|
+
interface ThinkChatToolRenderer {
|
|
16
|
+
/** One-line step action. `null` hides the step from the log. */
|
|
17
|
+
describe?: (part: ToolUIPart | DynamicToolUIPart) => ThinkChatActivityDescription | null | undefined;
|
|
18
|
+
/** Expanded detail under the step. `null` keeps the step a plain row. */
|
|
19
|
+
panel?: (part: ToolUIPart | DynamicToolUIPart) => React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
type ThinkChatToolRenderers = Record<string, ThinkChatToolRenderer>;
|
|
22
|
+
interface ThinkChatActivityRendererOptions<MessageT extends UIMessage = UIMessage> {
|
|
23
|
+
/**
|
|
24
|
+
* Tool names to keep out of activity folding entirely — the run splits
|
|
25
|
+
* around them and they fall through to your own renderPart / AgentChat's
|
|
26
|
+
* generic standalone activity row. For tools that should stay in the log
|
|
27
|
+
* with custom UI, use `toolRenderers` instead.
|
|
28
|
+
*/
|
|
29
|
+
excludeTools?: readonly string[];
|
|
30
|
+
/** Per-tool action/panel overrides inside the activity log, keyed by tool name. */
|
|
31
|
+
toolRenderers?: ThinkChatToolRenderers;
|
|
32
|
+
/** App-authored TanStack Router Link for each retained child destination. */
|
|
33
|
+
renderAgentToolRunLink?: (run: AgentToolRunValue<MessageT["parts"][number]>) => React.ReactElement;
|
|
34
|
+
}
|
|
35
|
+
interface ThinkChatActivityProps {
|
|
36
|
+
/** Render with the log expanded. */
|
|
37
|
+
defaultOpen?: boolean;
|
|
38
|
+
parts: readonly ThinkChatPart[];
|
|
39
|
+
/** Defaults to deriving from part states (reasoning streaming, tool awaiting output). */
|
|
40
|
+
isStreaming?: boolean;
|
|
41
|
+
/** Per-tool action/panel overrides, keyed by tool name. */
|
|
42
|
+
toolRenderers?: ThinkChatToolRenderers;
|
|
43
|
+
/** Replaces the summary action after the activity settles. */
|
|
44
|
+
settledAction?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Uniquely identifies this run across the whole transcript for persisted
|
|
47
|
+
* disclosure state (the activity renderer passes `${message.id}:${runStart}`).
|
|
48
|
+
* Required because any derivable fallback collides for reasoning-led runs
|
|
49
|
+
* in different messages, bleeding open/closed state across virtualization
|
|
50
|
+
* remounts.
|
|
51
|
+
*/
|
|
52
|
+
stateKey: string;
|
|
53
|
+
}
|
|
54
|
+
declare function ThinkChatActivity({
|
|
55
|
+
parts,
|
|
56
|
+
defaultOpen,
|
|
57
|
+
isStreaming,
|
|
58
|
+
toolRenderers,
|
|
59
|
+
settledAction,
|
|
60
|
+
stateKey
|
|
61
|
+
}: ThinkChatActivityProps): React.JSX.Element | null;
|
|
62
|
+
/**
|
|
63
|
+
* Builds a renderPart handler that folds every run of consecutive activity
|
|
64
|
+
* parts (reasoning + tool calls) into one collapsed Activity box. Everything
|
|
65
|
+
* is derived from the UIMessage stream: part order, tool states, reasoning
|
|
66
|
+
* state. Excluded tools split the run and return undefined so your own
|
|
67
|
+
* renderPart (or AgentChat's generic activity row) takes over for them.
|
|
68
|
+
*/
|
|
69
|
+
declare function createThinkChatActivityRenderer<MessageT extends UIMessage = UIMessage>({
|
|
70
|
+
excludeTools,
|
|
71
|
+
renderAgentToolRunLink,
|
|
72
|
+
toolRenderers
|
|
73
|
+
}?: ThinkChatActivityRendererOptions<MessageT>): NonNullable<AgentChatMessageContentProps<MessageT>["renderPart"]>;
|
|
74
|
+
/** Default activity renderer — `createThinkChatActivityRenderer()` with no overrides. */
|
|
75
|
+
declare const renderThinkChatActivityPart: (context: AgentMessageRenderPartContext<UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>) => React.ReactNode | undefined;
|
|
76
|
+
//#endregion
|
|
77
|
+
export { ThinkChatToolRenderers as a, ThinkChatToolRenderer as i, ThinkChatActivityProps as n, createThinkChatActivityRenderer as o, ThinkChatActivityRendererOptions as r, renderThinkChatActivityPart as s, ThinkChatActivity as t };
|