@inf-monkeys-tech/monkeys-design 1.0.66 → 1.0.68
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/components/agent-workbench/index.d.mts +7 -41
- package/dist/components/agent-workbench/index.d.ts +7 -41
- package/dist/components/agent-workbench/index.js +24 -20
- package/dist/components/agent-workbench/index.js.map +1 -1
- package/dist/components/agent-workbench/index.mjs +25 -21
- package/dist/components/agent-workbench/index.mjs.map +1 -1
- package/dist/components/base/index.js +2 -0
- package/dist/components/base/index.js.map +1 -1
- package/dist/components/base/index.mjs +2 -0
- package/dist/components/base/index.mjs.map +1 -1
- package/dist/components/data-explorer/index.js +2 -0
- package/dist/components/data-explorer/index.js.map +1 -1
- package/dist/components/data-explorer/index.mjs +2 -0
- package/dist/components/data-explorer/index.mjs.map +1 -1
- package/dist/components/layout/index.js +2 -0
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/index.mjs +2 -0
- package/dist/components/layout/index.mjs.map +1 -1
- package/dist/components/navigation-sidebar/index.js +2 -0
- package/dist/components/navigation-sidebar/index.js.map +1 -1
- package/dist/components/navigation-sidebar/index.mjs +2 -0
- package/dist/components/navigation-sidebar/index.mjs.map +1 -1
- package/dist/components/runtime/index.js +2 -0
- package/dist/components/runtime/index.js.map +1 -1
- package/dist/components/runtime/index.mjs +2 -0
- package/dist/components/runtime/index.mjs.map +1 -1
- package/dist/components/toast/index.d.mts +1 -1
- package/dist/components/toast/index.d.ts +1 -1
- package/dist/components/toast/index.js +2 -0
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/toast/index.mjs +2 -0
- package/dist/components/toast/index.mjs.map +1 -1
- package/dist/components/toolbar/index.js +2 -0
- package/dist/components/toolbar/index.js.map +1 -1
- package/dist/components/toolbar/index.mjs +2 -0
- package/dist/components/toolbar/index.mjs.map +1 -1
- package/dist/components/workbench/index.js +2 -0
- package/dist/components/workbench/index.js.map +1 -1
- package/dist/components/workbench/index.mjs +2 -0
- package/dist/components/workbench/index.mjs.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -0
- package/dist/index.mjs.map +1 -1
- package/dist/locale/index.d.mts +6 -2
- package/dist/locale/index.d.ts +6 -2
- package/dist/locale/index.js +4 -0
- package/dist/locale/index.js.map +1 -1
- package/dist/locale/index.mjs +4 -0
- package/dist/locale/index.mjs.map +1 -1
- package/dist/provider/index.d.mts +2 -2
- package/dist/provider/index.d.ts +2 -2
- package/dist/provider/index.js +4 -0
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/index.mjs +4 -0
- package/dist/provider/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/{types-15efbcf88674.d.mts → types-340390798922.d.mts} +2 -0
- package/dist/{types-15efbcf88674.d.ts → types-340390798922.d.ts} +2 -0
- package/package.json +2 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { AgentWorkbenchComposerViewModel, AgentSessionPermissionProfile, AgentSessionViewModel, AgentSessionEvent } from '@inf-monkeys-tech/monkeys';
|
|
2
|
+
import { AgentWorkbenchComposerViewModel, AgentSessionPermissionProfile, AgentWorkbenchQuickStartViewModel, AgentSessionViewModel, AgentSessionEvent } from '@inf-monkeys-tech/monkeys';
|
|
3
|
+
export { AgentWorkbenchQuickStartCategory, AgentWorkbenchQuickStartIcon, AgentWorkbenchQuickStartSection, AgentWorkbenchQuickStartTemplate, AgentWorkbenchQuickStartViewModel } from '@inf-monkeys-tech/monkeys';
|
|
3
4
|
import { d as AgentWorkbenchApprovalIntent, e as AgentWorkbenchArtifactIntent } from '../../details-model-db4bd679f88e.mjs';
|
|
4
5
|
export { A as AgentWorkbenchActivity, a as AgentWorkbenchActivityClassNames, b as AgentWorkbenchActivityModel, c as AgentWorkbenchActivityProps, f as AgentWorkbenchDetailsIntent, g as AgentWorkbenchDetailsModel, h as AgentWorkbenchDetailsState, i as AgentWorkbenchDetailsTab, j as AgentWorkbenchEventOf, E as AgentWorkbenchExploreCardMedia, F as AgentWorkbenchExploreCardMediaProps, k as AgentWorkbenchExploreGroup, l as AgentWorkbenchExploreItem, G as AgentWorkbenchExploreMediaTreatment, H as AgentWorkbenchExploreMediaVariant, m as AgentWorkbenchExploreSidebar, n as AgentWorkbenchExploreSidebarIntent, o as AgentWorkbenchExploreSidebarLabels, p as AgentWorkbenchExploreSidebarProps, q as AgentWorkbenchSidebar, r as AgentWorkbenchSidebarClassNames, s as AgentWorkbenchSidebarIntent, t as AgentWorkbenchSidebarProps, u as AgentWorkbenchTaskDetails, v as AgentWorkbenchTaskDetailsClassNames, w as AgentWorkbenchTaskDetailsProps, x as AgentWorkbenchTerminalModel, y as AgentWorkbenchTool, z as AgentWorkbenchToolClassNames, B as AgentWorkbenchToolProps, C as createAgentWorkbenchActivityModel, D as createAgentWorkbenchDetailsModel } from '../../details-model-db4bd679f88e.mjs';
|
|
5
6
|
import { ReactNode, ComponentType } from 'react';
|
|
@@ -34,6 +35,9 @@ type AgentWorkbenchComposerIntent = {
|
|
|
34
35
|
files: File[];
|
|
35
36
|
} | {
|
|
36
37
|
type: 'request-voice-input';
|
|
38
|
+
} | {
|
|
39
|
+
type: 'retry-attachment';
|
|
40
|
+
attachmentId: string;
|
|
37
41
|
} | {
|
|
38
42
|
type: 'select-input-action';
|
|
39
43
|
actionId: string;
|
|
@@ -57,52 +61,14 @@ interface AgentWorkbenchComposerClassNames {
|
|
|
57
61
|
toolbar?: string;
|
|
58
62
|
}
|
|
59
63
|
interface AgentWorkbenchComposerProps {
|
|
60
|
-
viewModel: AgentWorkbenchComposerViewModel
|
|
61
|
-
inputActions?: readonly ComposerInputAction[];
|
|
62
|
-
selectedInputActionId?: string;
|
|
63
|
-
};
|
|
64
|
+
viewModel: AgentWorkbenchComposerViewModel;
|
|
64
65
|
modeSelectionEnabled?: boolean;
|
|
65
66
|
modeFilteringEnabled?: boolean;
|
|
66
67
|
className?: string;
|
|
67
68
|
classNames?: AgentWorkbenchComposerClassNames;
|
|
68
69
|
onIntent?: (intent: AgentWorkbenchComposerIntent) => void;
|
|
69
70
|
}
|
|
70
|
-
type ComposerInputAction = {
|
|
71
|
-
id: string;
|
|
72
|
-
label: string;
|
|
73
|
-
icon?: 'file-text' | 'image';
|
|
74
|
-
};
|
|
75
71
|
declare function AgentWorkbenchComposer({ viewModel, modeSelectionEnabled, modeFilteringEnabled, className, classNames, onIntent, }: AgentWorkbenchComposerProps): react_jsx_runtime.JSX.Element;
|
|
76
|
-
type AgentWorkbenchQuickStartIcon = 'code' | 'file-text' | 'palette' | 'search' | 'shopping-bag' | 'sparkles';
|
|
77
|
-
interface AgentWorkbenchQuickStartTemplate {
|
|
78
|
-
id: string;
|
|
79
|
-
title: string;
|
|
80
|
-
description?: string;
|
|
81
|
-
prompt: string;
|
|
82
|
-
action?: 'prompt' | 'upload';
|
|
83
|
-
icon?: AgentWorkbenchQuickStartIcon;
|
|
84
|
-
coverImageUrl?: string;
|
|
85
|
-
accept?: string;
|
|
86
|
-
multiple?: boolean;
|
|
87
|
-
modes?: Array<'chat' | 'work'>;
|
|
88
|
-
}
|
|
89
|
-
interface AgentWorkbenchQuickStartSection {
|
|
90
|
-
id: string;
|
|
91
|
-
label: string;
|
|
92
|
-
templates: AgentWorkbenchQuickStartTemplate[];
|
|
93
|
-
}
|
|
94
|
-
interface AgentWorkbenchQuickStartCategory {
|
|
95
|
-
id: string;
|
|
96
|
-
label: string;
|
|
97
|
-
icon?: AgentWorkbenchQuickStartIcon;
|
|
98
|
-
sections: AgentWorkbenchQuickStartSection[];
|
|
99
|
-
}
|
|
100
|
-
interface AgentWorkbenchQuickStartViewModel {
|
|
101
|
-
contract: 'AgentWorkbenchQuickStartViewModel';
|
|
102
|
-
mode: 'chat' | 'work';
|
|
103
|
-
categories: AgentWorkbenchQuickStartCategory[];
|
|
104
|
-
disabled?: boolean;
|
|
105
|
-
}
|
|
106
72
|
type AgentWorkbenchQuickStartIntent = {
|
|
107
73
|
type: 'change-category';
|
|
108
74
|
categoryId?: string;
|
|
@@ -246,4 +212,4 @@ interface AgentWorkbenchArtifactWorkspaceProps {
|
|
|
246
212
|
onIntent?: (intent: AgentWorkbenchArtifactWorkspaceIntent) => void;
|
|
247
213
|
}
|
|
248
214
|
declare function AgentWorkbenchArtifactWorkspace({ artifacts, activeArtifactId, className, renderArtifact, onIntent, }: AgentWorkbenchArtifactWorkspaceProps): null | react_jsx_runtime.JSX.Element;
|
|
249
|
-
export { AgentWorkbenchAction, type AgentWorkbenchActionKind, type AgentWorkbenchActionProps, type AgentWorkbenchActionStatus, AgentWorkbenchApprovalIntent, AgentWorkbenchArtifactIntent, type AgentWorkbenchArtifactItem, type AgentWorkbenchArtifactKind, type AgentWorkbenchArtifactOrigin, type AgentWorkbenchArtifactStatus, AgentWorkbenchArtifactSummary, type AgentWorkbenchArtifactSummaryProps, AgentWorkbenchArtifactWorkspace, type AgentWorkbenchArtifactWorkspaceIntent, type AgentWorkbenchArtifactWorkspaceProps, AgentWorkbenchComposer, type AgentWorkbenchComposerClassNames, type AgentWorkbenchComposerIntent, type AgentWorkbenchComposerProps, AgentWorkbenchProcess, type AgentWorkbenchProcessProps, type AgentWorkbenchProcessStatus, AgentWorkbenchQuickStart, type
|
|
215
|
+
export { AgentWorkbenchAction, type AgentWorkbenchActionKind, type AgentWorkbenchActionProps, type AgentWorkbenchActionStatus, AgentWorkbenchApprovalIntent, AgentWorkbenchArtifactIntent, type AgentWorkbenchArtifactItem, type AgentWorkbenchArtifactKind, type AgentWorkbenchArtifactOrigin, type AgentWorkbenchArtifactStatus, AgentWorkbenchArtifactSummary, type AgentWorkbenchArtifactSummaryProps, AgentWorkbenchArtifactWorkspace, type AgentWorkbenchArtifactWorkspaceIntent, type AgentWorkbenchArtifactWorkspaceProps, AgentWorkbenchComposer, type AgentWorkbenchComposerClassNames, type AgentWorkbenchComposerIntent, type AgentWorkbenchComposerProps, AgentWorkbenchProcess, type AgentWorkbenchProcessProps, type AgentWorkbenchProcessStatus, AgentWorkbenchQuickStart, type AgentWorkbenchQuickStartIntent, type AgentWorkbenchQuickStartProps, AgentWorkbenchThread, type AgentWorkbenchThreadClassNames, type AgentWorkbenchThreadMessage, type AgentWorkbenchThreadProps };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { AgentWorkbenchComposerViewModel, AgentSessionPermissionProfile, AgentSessionViewModel, AgentSessionEvent } from '@inf-monkeys-tech/monkeys';
|
|
2
|
+
import { AgentWorkbenchComposerViewModel, AgentSessionPermissionProfile, AgentWorkbenchQuickStartViewModel, AgentSessionViewModel, AgentSessionEvent } from '@inf-monkeys-tech/monkeys';
|
|
3
|
+
export { AgentWorkbenchQuickStartCategory, AgentWorkbenchQuickStartIcon, AgentWorkbenchQuickStartSection, AgentWorkbenchQuickStartTemplate, AgentWorkbenchQuickStartViewModel } from '@inf-monkeys-tech/monkeys';
|
|
3
4
|
import { d as AgentWorkbenchApprovalIntent, e as AgentWorkbenchArtifactIntent } from '../../details-model-db4bd679f88e.js';
|
|
4
5
|
export { A as AgentWorkbenchActivity, a as AgentWorkbenchActivityClassNames, b as AgentWorkbenchActivityModel, c as AgentWorkbenchActivityProps, f as AgentWorkbenchDetailsIntent, g as AgentWorkbenchDetailsModel, h as AgentWorkbenchDetailsState, i as AgentWorkbenchDetailsTab, j as AgentWorkbenchEventOf, E as AgentWorkbenchExploreCardMedia, F as AgentWorkbenchExploreCardMediaProps, k as AgentWorkbenchExploreGroup, l as AgentWorkbenchExploreItem, G as AgentWorkbenchExploreMediaTreatment, H as AgentWorkbenchExploreMediaVariant, m as AgentWorkbenchExploreSidebar, n as AgentWorkbenchExploreSidebarIntent, o as AgentWorkbenchExploreSidebarLabels, p as AgentWorkbenchExploreSidebarProps, q as AgentWorkbenchSidebar, r as AgentWorkbenchSidebarClassNames, s as AgentWorkbenchSidebarIntent, t as AgentWorkbenchSidebarProps, u as AgentWorkbenchTaskDetails, v as AgentWorkbenchTaskDetailsClassNames, w as AgentWorkbenchTaskDetailsProps, x as AgentWorkbenchTerminalModel, y as AgentWorkbenchTool, z as AgentWorkbenchToolClassNames, B as AgentWorkbenchToolProps, C as createAgentWorkbenchActivityModel, D as createAgentWorkbenchDetailsModel } from '../../details-model-db4bd679f88e.js';
|
|
5
6
|
import { ReactNode, ComponentType } from 'react';
|
|
@@ -34,6 +35,9 @@ type AgentWorkbenchComposerIntent = {
|
|
|
34
35
|
files: File[];
|
|
35
36
|
} | {
|
|
36
37
|
type: 'request-voice-input';
|
|
38
|
+
} | {
|
|
39
|
+
type: 'retry-attachment';
|
|
40
|
+
attachmentId: string;
|
|
37
41
|
} | {
|
|
38
42
|
type: 'select-input-action';
|
|
39
43
|
actionId: string;
|
|
@@ -57,52 +61,14 @@ interface AgentWorkbenchComposerClassNames {
|
|
|
57
61
|
toolbar?: string;
|
|
58
62
|
}
|
|
59
63
|
interface AgentWorkbenchComposerProps {
|
|
60
|
-
viewModel: AgentWorkbenchComposerViewModel
|
|
61
|
-
inputActions?: readonly ComposerInputAction[];
|
|
62
|
-
selectedInputActionId?: string;
|
|
63
|
-
};
|
|
64
|
+
viewModel: AgentWorkbenchComposerViewModel;
|
|
64
65
|
modeSelectionEnabled?: boolean;
|
|
65
66
|
modeFilteringEnabled?: boolean;
|
|
66
67
|
className?: string;
|
|
67
68
|
classNames?: AgentWorkbenchComposerClassNames;
|
|
68
69
|
onIntent?: (intent: AgentWorkbenchComposerIntent) => void;
|
|
69
70
|
}
|
|
70
|
-
type ComposerInputAction = {
|
|
71
|
-
id: string;
|
|
72
|
-
label: string;
|
|
73
|
-
icon?: 'file-text' | 'image';
|
|
74
|
-
};
|
|
75
71
|
declare function AgentWorkbenchComposer({ viewModel, modeSelectionEnabled, modeFilteringEnabled, className, classNames, onIntent, }: AgentWorkbenchComposerProps): react_jsx_runtime.JSX.Element;
|
|
76
|
-
type AgentWorkbenchQuickStartIcon = 'code' | 'file-text' | 'palette' | 'search' | 'shopping-bag' | 'sparkles';
|
|
77
|
-
interface AgentWorkbenchQuickStartTemplate {
|
|
78
|
-
id: string;
|
|
79
|
-
title: string;
|
|
80
|
-
description?: string;
|
|
81
|
-
prompt: string;
|
|
82
|
-
action?: 'prompt' | 'upload';
|
|
83
|
-
icon?: AgentWorkbenchQuickStartIcon;
|
|
84
|
-
coverImageUrl?: string;
|
|
85
|
-
accept?: string;
|
|
86
|
-
multiple?: boolean;
|
|
87
|
-
modes?: Array<'chat' | 'work'>;
|
|
88
|
-
}
|
|
89
|
-
interface AgentWorkbenchQuickStartSection {
|
|
90
|
-
id: string;
|
|
91
|
-
label: string;
|
|
92
|
-
templates: AgentWorkbenchQuickStartTemplate[];
|
|
93
|
-
}
|
|
94
|
-
interface AgentWorkbenchQuickStartCategory {
|
|
95
|
-
id: string;
|
|
96
|
-
label: string;
|
|
97
|
-
icon?: AgentWorkbenchQuickStartIcon;
|
|
98
|
-
sections: AgentWorkbenchQuickStartSection[];
|
|
99
|
-
}
|
|
100
|
-
interface AgentWorkbenchQuickStartViewModel {
|
|
101
|
-
contract: 'AgentWorkbenchQuickStartViewModel';
|
|
102
|
-
mode: 'chat' | 'work';
|
|
103
|
-
categories: AgentWorkbenchQuickStartCategory[];
|
|
104
|
-
disabled?: boolean;
|
|
105
|
-
}
|
|
106
72
|
type AgentWorkbenchQuickStartIntent = {
|
|
107
73
|
type: 'change-category';
|
|
108
74
|
categoryId?: string;
|
|
@@ -246,4 +212,4 @@ interface AgentWorkbenchArtifactWorkspaceProps {
|
|
|
246
212
|
onIntent?: (intent: AgentWorkbenchArtifactWorkspaceIntent) => void;
|
|
247
213
|
}
|
|
248
214
|
declare function AgentWorkbenchArtifactWorkspace({ artifacts, activeArtifactId, className, renderArtifact, onIntent, }: AgentWorkbenchArtifactWorkspaceProps): null | react_jsx_runtime.JSX.Element;
|
|
249
|
-
export { AgentWorkbenchAction, type AgentWorkbenchActionKind, type AgentWorkbenchActionProps, type AgentWorkbenchActionStatus, AgentWorkbenchApprovalIntent, AgentWorkbenchArtifactIntent, type AgentWorkbenchArtifactItem, type AgentWorkbenchArtifactKind, type AgentWorkbenchArtifactOrigin, type AgentWorkbenchArtifactStatus, AgentWorkbenchArtifactSummary, type AgentWorkbenchArtifactSummaryProps, AgentWorkbenchArtifactWorkspace, type AgentWorkbenchArtifactWorkspaceIntent, type AgentWorkbenchArtifactWorkspaceProps, AgentWorkbenchComposer, type AgentWorkbenchComposerClassNames, type AgentWorkbenchComposerIntent, type AgentWorkbenchComposerProps, AgentWorkbenchProcess, type AgentWorkbenchProcessProps, type AgentWorkbenchProcessStatus, AgentWorkbenchQuickStart, type
|
|
215
|
+
export { AgentWorkbenchAction, type AgentWorkbenchActionKind, type AgentWorkbenchActionProps, type AgentWorkbenchActionStatus, AgentWorkbenchApprovalIntent, AgentWorkbenchArtifactIntent, type AgentWorkbenchArtifactItem, type AgentWorkbenchArtifactKind, type AgentWorkbenchArtifactOrigin, type AgentWorkbenchArtifactStatus, AgentWorkbenchArtifactSummary, type AgentWorkbenchArtifactSummaryProps, AgentWorkbenchArtifactWorkspace, type AgentWorkbenchArtifactWorkspaceIntent, type AgentWorkbenchArtifactWorkspaceProps, AgentWorkbenchComposer, type AgentWorkbenchComposerClassNames, type AgentWorkbenchComposerIntent, type AgentWorkbenchComposerProps, AgentWorkbenchProcess, type AgentWorkbenchProcessProps, type AgentWorkbenchProcessStatus, AgentWorkbenchQuickStart, type AgentWorkbenchQuickStartIntent, type AgentWorkbenchQuickStartProps, AgentWorkbenchThread, type AgentWorkbenchThreadClassNames, type AgentWorkbenchThreadMessage, type AgentWorkbenchThreadProps };
|
|
@@ -184,6 +184,8 @@ var enUS = {
|
|
|
184
184
|
moveDown: "Move message down",
|
|
185
185
|
queued: "Queued messages",
|
|
186
186
|
uploading: "Uploading",
|
|
187
|
+
uploadFailed: "Upload failed",
|
|
188
|
+
retryAttachment: "Retry attachment upload",
|
|
187
189
|
noModels: "No models available",
|
|
188
190
|
message: "Message",
|
|
189
191
|
attachmentOnly: "Attachment",
|
|
@@ -1097,23 +1099,25 @@ function AgentWorkbenchComposer({
|
|
|
1097
1099
|
}
|
|
1098
1100
|
) : null,
|
|
1099
1101
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { ref: surfaceRef, className: "agent-workbench-composer__surface min-w-0 max-w-full rounded-lg border border-input bg-background p-3 shadow-sm focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/30", children: [
|
|
1100
|
-
viewModel.attachments.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn2("mb-2 flex max-w-full gap-2 overflow-x-auto", classNames?.attachments), children: viewModel.attachments.map((attachment) =>
|
|
1101
|
-
|
|
1102
|
-
attachment.status === "uploading"
|
|
1103
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1104
|
-
|
|
1105
|
-
{
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1102
|
+
viewModel.attachments.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { "data-agent-workbench-composer-attachments": true, className: cn2("mb-2 flex max-w-full gap-2 overflow-x-auto overscroll-x-contain pb-1", classNames?.attachments), children: viewModel.attachments.map((attachment) => {
|
|
1103
|
+
const isAttachmentError = attachment.status === "error";
|
|
1104
|
+
const isAttachmentUploading = attachment.status === "uploading";
|
|
1105
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { role: isAttachmentError ? "alert" : void 0, className: cn2("flex h-14 min-w-48 max-w-64 shrink-0 items-center gap-2 rounded-md border bg-muted/45 p-1.5", isAttachmentError ? "border-destructive/50 bg-destructive/5" : "border-border"), children: [
|
|
1106
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-10 shrink-0 items-center justify-center overflow-hidden rounded bg-muted", children: attachment.previewUrl && attachment.mediaType?.startsWith("image/") ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: attachment.previewUrl, alt: "", className: "size-full object-cover" }) : attachment.mediaType?.startsWith("image/") ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Image, { className: "size-5 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.File, { className: "size-5 text-muted-foreground" }) }),
|
|
1107
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
1108
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate text-xs font-medium text-foreground", title: attachment.name, children: attachment.name }),
|
|
1109
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn2("mt-0.5 flex items-center gap-1 text-[11px]", isAttachmentError ? "text-destructive-text" : "text-muted-foreground"), children: [
|
|
1110
|
+
isAttachmentUploading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LoaderCircle, { className: "size-3 animate-spin", "aria-hidden": "true" }) : null,
|
|
1111
|
+
isAttachmentError ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleAlert, { className: "size-3", "aria-hidden": "true" }) : null,
|
|
1112
|
+
isAttachmentUploading ? messages.composer.uploading : isAttachmentError ? messages.composer.uploadFailed : attachment.mediaType || messages.composer.attachmentOnly
|
|
1113
|
+
] })
|
|
1114
|
+
] }),
|
|
1115
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex shrink-0 items-center gap-0.5", children: [
|
|
1116
|
+
isAttachmentError ? /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "!size-7 min-w-7 shrink-0 p-0 text-destructive-text hover:text-destructive-text", "aria-label": `${messages.composer.retryAttachment}: ${attachment.name}`, onClick: () => onIntent?.({ type: "retry-attachment", attachmentId: attachment.id }), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "size-3.5" }) }) : null,
|
|
1117
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "!size-7 min-w-7 shrink-0 p-0 text-muted-foreground hover:text-foreground", "aria-label": `${messages.composer.removeAttachment}: ${attachment.name}`, onClick: () => onIntent?.({ type: "remove-attachment", attachmentId: attachment.id }), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-3.5" }) })
|
|
1118
|
+
] })
|
|
1119
|
+
] }, attachment.id);
|
|
1120
|
+
}) }) : null,
|
|
1117
1121
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1118
1122
|
AutosizeTextarea,
|
|
1119
1123
|
{
|
|
@@ -1122,7 +1126,7 @@ function AgentWorkbenchComposer({
|
|
|
1122
1126
|
maxHeight: 256,
|
|
1123
1127
|
"aria-label": messages.composer.message,
|
|
1124
1128
|
placeholder: viewModel.placeholder,
|
|
1125
|
-
className: cn2("min-w-0 w-full resize-none rounded-none border-0 bg-transparent px-0 py-0 text-sm leading-relaxed text-foreground shadow-none focus-visible:ring-0 focus-visible:ring-offset-0", classNames?.textarea),
|
|
1129
|
+
className: cn2("min-w-0 w-full resize-none overflow-y-auto rounded-none border-0 bg-transparent px-0 py-0 text-sm leading-relaxed text-foreground shadow-none focus-visible:ring-0 focus-visible:ring-offset-0", classNames?.textarea),
|
|
1126
1130
|
onChange: (event) => onIntent?.({ type: "change-value", value: event.target.value }),
|
|
1127
1131
|
onKeyDown: (event) => {
|
|
1128
1132
|
if (event.key === "Enter" && !event.shiftKey && !event.nativeEvent.isComposing) {
|
|
@@ -1133,7 +1137,7 @@ function AgentWorkbenchComposer({
|
|
|
1133
1137
|
}
|
|
1134
1138
|
),
|
|
1135
1139
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn2("agent-workbench-composer__toolbar mt-2 flex min-h-8 min-w-0 max-w-full items-center gap-2", isNarrow ? "flex-wrap" : "flex-nowrap", classNames?.toolbar), children: [
|
|
1136
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn2("agent-workbench-composer__controls flex min-w-0 max-w-full flex-1 items-center gap-1.5", isNarrow ? "w-full flex-wrap" : "flex-nowrap"), children: [
|
|
1140
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { "data-agent-workbench-composer-controls": true, className: cn2("agent-workbench-composer__controls flex min-w-0 max-w-full flex-1 items-center gap-1.5", isNarrow ? "w-full flex-wrap" : "flex-nowrap overflow-x-auto overscroll-x-contain pb-1"), children: [
|
|
1137
1141
|
viewModel.capabilities.attachments ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1138
1142
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "ghost", size: "icon", className: iconButtonClass, "aria-label": messages.composer.attach, onClick: () => fileInputRef.current?.click(), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Paperclip, { className: "size-4" }) }),
|
|
1139
1143
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1166,7 +1170,7 @@ function AgentWorkbenchComposer({
|
|
|
1166
1170
|
className: "h-7 min-w-0 gap-1.5 px-2.5 text-xs text-foreground/75 shadow-none hover:text-foreground data-[state=active]:bg-primary/10 data-[state=active]:text-primary data-[state=active]:shadow-none",
|
|
1167
1171
|
children: [
|
|
1168
1172
|
action.icon ? /* @__PURE__ */ jsxRuntime.jsx(ActionIcon, { className: "size-3.5" }) : null,
|
|
1169
|
-
action.label
|
|
1173
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "max-w-32 truncate", children: action.label })
|
|
1170
1174
|
]
|
|
1171
1175
|
},
|
|
1172
1176
|
action.id
|