@actioneer/ads 1.0.4 → 1.0.6
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/DESIGN.md +75 -75
- package/README.md +205 -0
- package/components/ai-elements/agent-trace.js +14 -14
- package/components/ai-elements/chain-of-thought.js +3 -3
- package/components/ai-elements/chart.js +3 -3
- package/components/ai-elements/inline-citation.js +2 -2
- package/components/ai-elements/message.js +1 -1
- package/components/ai-elements/research-activity.js +4 -4
- package/components/answer-sources.js +3 -3
- package/components/answer.js +3 -3
- package/components/assistant-ui/action-bar.js +2 -2
- package/components/assistant-ui/attachment.js +5 -5
- package/components/assistant-ui/badge.js +1 -1
- package/components/assistant-ui/branch-picker.js +1 -1
- package/components/assistant-ui/composer-add-context.js +7 -7
- package/components/assistant-ui/composer-deep-research.js +3 -3
- package/components/assistant-ui/composer-harness.js +1 -1
- package/components/assistant-ui/composer-trigger-popover.js +8 -8
- package/components/assistant-ui/composer.js +45 -45
- package/components/assistant-ui/file.js +9 -9
- package/components/assistant-ui/image.js +1 -1
- package/components/assistant-ui/markdown-text.js +1 -1
- package/components/assistant-ui/message-timing.js +1 -1
- package/components/assistant-ui/reasoning.js +10 -10
- package/components/assistant-ui/thread.js +1 -1
- package/components/assistant-ui/tool-fallback.js +2 -2
- package/components/assistant-ui/tool-group.js +3 -3
- package/components/autocomplete.js +28 -27
- package/components/brand-loader.d.ts +1 -1
- package/components/brand-loader.js +9 -9
- package/components/chart.js +5 -5
- package/components/checkbox.js +16 -16
- package/components/chip.js +33 -33
- package/components/collapsible.js +14 -12
- package/components/command-palette.js +37 -37
- package/components/connector-card.js +1 -1
- package/components/date-range-picker.js +2 -2
- package/components/dropdown.js +1 -1
- package/components/field.js +1 -1
- package/components/file-dropzone.js +2 -2
- package/components/infinite-canvas.js +1 -1
- package/components/modal.js +6 -6
- package/components/pagination.js +23 -23
- package/components/radio.js +1 -1
- package/components/segmented.js +23 -23
- package/components/selection-action-bar.js +13 -13
- package/components/sidebar.js +5 -5
- package/components/stepper.d.ts +1 -1
- package/components/stepper.js +4 -4
- package/components/switch.js +7 -7
- package/components/tooltip.js +1 -1
- package/components/tree.js +20 -20
- package/components/ui/button.js +21 -21
- package/components/ui/tooltip.js +3 -3
- package/llms.txt +6 -6
- package/manifest.json +13 -13
- package/package.json +1 -1
- package/styles.css +49 -56
- package/theme.css +49 -56
|
@@ -73,7 +73,7 @@ const v = c.forwardRef(
|
|
|
73
73
|
ref: d,
|
|
74
74
|
type: "button",
|
|
75
75
|
className: o(
|
|
76
|
-
"flex w-full items-start gap-3 rounded-lg border border-border bg-fill p-3 text-left",
|
|
76
|
+
"flex w-full items-start gap-3 rounded-lg border border-border bg-fill p-3 text-left text-m",
|
|
77
77
|
"transition-colors hover:bg-muted",
|
|
78
78
|
"outline-none focus-visible:ring-3 focus-visible:ring-ring",
|
|
79
79
|
l
|
|
@@ -86,8 +86,8 @@ const v = c.forwardRef(
|
|
|
86
86
|
/* @__PURE__ */ e("span", { className: "min-w-0 flex-1 truncate font-normal tabular-nums text-foreground", children: a }),
|
|
87
87
|
n && /* @__PURE__ */ e("span", { className: "shrink-0", children: n })
|
|
88
88
|
] }),
|
|
89
|
-
r && /* @__PURE__ */ e("span", { className: "mt-0.5 flex items-center gap-1.5 text-
|
|
90
|
-
s && /* @__PURE__ */ e("span", { className: "mt-1.5 block text-
|
|
89
|
+
r && /* @__PURE__ */ e("span", { className: "mt-0.5 flex items-center gap-1.5 text-s text-secondary", children: r }),
|
|
90
|
+
s && /* @__PURE__ */ e("span", { className: "mt-1.5 block text-s text-secondary", children: s })
|
|
91
91
|
] }),
|
|
92
92
|
/* @__PURE__ */ e(
|
|
93
93
|
u,
|
package/components/answer.js
CHANGED
|
@@ -491,7 +491,7 @@ const N = e.enum([
|
|
|
491
491
|
variants: {
|
|
492
492
|
tone: {
|
|
493
493
|
default: "text-foreground",
|
|
494
|
-
primary: "text-brand",
|
|
494
|
+
primary: "text-brand-text",
|
|
495
495
|
success: "text-success-700",
|
|
496
496
|
warning: "text-warning-700",
|
|
497
497
|
danger: "text-danger-700",
|
|
@@ -503,7 +503,7 @@ const N = e.enum([
|
|
|
503
503
|
variants: {
|
|
504
504
|
tone: {
|
|
505
505
|
default: "text-secondary",
|
|
506
|
-
primary: "text-brand",
|
|
506
|
+
primary: "text-brand-text",
|
|
507
507
|
success: "text-success-700",
|
|
508
508
|
warning: "text-warning-700",
|
|
509
509
|
danger: "text-danger-700",
|
|
@@ -1484,7 +1484,7 @@ const ue = p.forwardRef(({ spec: a, onFollowUp: l, onOptionSelect: c, onSourceSe
|
|
|
1484
1484
|
),
|
|
1485
1485
|
children: [
|
|
1486
1486
|
/* @__PURE__ */ t("span", { className: "block text-sm font-medium text-foreground", children: u.label }),
|
|
1487
|
-
u.description && /* @__PURE__ */ t("span", { className: "mt-0.5 block text-
|
|
1487
|
+
u.description && /* @__PURE__ */ t("span", { className: "mt-0.5 block text-s leading-5 text-secondary", children: u.description })
|
|
1488
1488
|
]
|
|
1489
1489
|
},
|
|
1490
1490
|
u.id
|
|
@@ -62,14 +62,14 @@ const z = ({ open: s, onOpenChange: i }) => {
|
|
|
62
62
|
n.Item,
|
|
63
63
|
{
|
|
64
64
|
onSelect: () => i(!0),
|
|
65
|
-
className: "aui-action-bar-more-item hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-1.5 text-
|
|
65
|
+
className: "aui-action-bar-more-item hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-1.5 text-m outline-none select-none",
|
|
66
66
|
children: [
|
|
67
67
|
/* @__PURE__ */ e(N, { className: "size-4" }),
|
|
68
68
|
"Add to Artifact"
|
|
69
69
|
]
|
|
70
70
|
}
|
|
71
71
|
),
|
|
72
|
-
/* @__PURE__ */ e(o.ExportMarkdown, { asChild: !0, children: /* @__PURE__ */ t(n.Item, { className: "aui-action-bar-more-item hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-1.5 text-
|
|
72
|
+
/* @__PURE__ */ e(o.ExportMarkdown, { asChild: !0, children: /* @__PURE__ */ t(n.Item, { className: "aui-action-bar-more-item hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-1.5 text-m outline-none select-none", children: [
|
|
73
73
|
/* @__PURE__ */ e(k, { className: "size-4" }),
|
|
74
74
|
"Export as Markdown"
|
|
75
75
|
] }) })
|
|
@@ -188,11 +188,11 @@ const V = (a) => {
|
|
|
188
188
|
className: "flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground outline-none transition-colors hover:bg-foreground/10 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring [&_svg]:size-3.5",
|
|
189
189
|
children: /* @__PURE__ */ e(T, {})
|
|
190
190
|
}
|
|
191
|
-
) }), ae = ({ isComposer: a }) => /* @__PURE__ */ e(s.Root, { className: "aui-attachment-root", children: /* @__PURE__ */ i("div", { className: "inline-flex max-w-[15rem] items-center gap-1.5 rounded-md bg-muted py-1 pe-1 ps-2 text-
|
|
191
|
+
) }), ae = ({ isComposer: a }) => /* @__PURE__ */ e(s.Root, { className: "aui-attachment-root", children: /* @__PURE__ */ i("div", { className: "inline-flex max-w-[15rem] items-center gap-1.5 rounded-md bg-muted py-1 pe-1 ps-2 text-s text-foreground", children: [
|
|
192
192
|
/* @__PURE__ */ e(L, { className: "size-3.5 shrink-0 text-muted-foreground" }),
|
|
193
193
|
/* @__PURE__ */ e("span", { className: "truncate", children: /* @__PURE__ */ e(s.Name, {}) }),
|
|
194
194
|
a && /* @__PURE__ */ e(x, { label: "Remove context" })
|
|
195
|
-
] }) }), ne = ({ isComposer: a }) => /* @__PURE__ */ e(s.Root, { className: "aui-attachment-root", children: /* @__PURE__ */ i("div", { className: "inline-flex max-w-[15rem] items-center gap-1.5 rounded-md bg-info-50 py-1 pe-1 ps-2 text-
|
|
195
|
+
] }) }), ne = ({ isComposer: a }) => /* @__PURE__ */ e(s.Root, { className: "aui-attachment-root", children: /* @__PURE__ */ i("div", { className: "inline-flex max-w-[15rem] items-center gap-1.5 rounded-md bg-info-50 py-1 pe-1 ps-2 text-s text-info-700", children: [
|
|
196
196
|
/* @__PURE__ */ e(S, { className: "size-3.5 shrink-0" }),
|
|
197
197
|
/* @__PURE__ */ i("span", { className: "truncate", children: [
|
|
198
198
|
"Harness · ",
|
|
@@ -211,8 +211,8 @@ const V = (a) => {
|
|
|
211
211
|
}
|
|
212
212
|
),
|
|
213
213
|
/* @__PURE__ */ i("div", { className: "min-w-0 flex-1", children: [
|
|
214
|
-
/* @__PURE__ */ e("div", { className: "truncate text-
|
|
215
|
-
/* @__PURE__ */ e("div", { className: "truncate text-
|
|
214
|
+
/* @__PURE__ */ e("div", { className: "truncate text-s font-medium leading-tight text-foreground", children: /* @__PURE__ */ e(s.Name, {}) }),
|
|
215
|
+
/* @__PURE__ */ e("div", { className: "truncate text-s leading-tight text-muted-foreground", children: n ? "Upload failed" : r ? "Uploading…" : t })
|
|
216
216
|
] }),
|
|
217
217
|
a && /* @__PURE__ */ e(x, { label: "Remove file" })
|
|
218
218
|
] }) }), ie = () => /* @__PURE__ */ e(s.Remove, { asChild: !0, children: /* @__PURE__ */ e(
|
|
@@ -234,7 +234,7 @@ const V = (a) => {
|
|
|
234
234
|
side: "bottom",
|
|
235
235
|
variant: "ghost",
|
|
236
236
|
size: "icon",
|
|
237
|
-
className: "aui-composer-add-attachment hover:bg-muted-foreground/15 size-7 rounded-full p-1
|
|
237
|
+
className: "aui-composer-add-attachment hover:bg-muted-foreground/15 size-7 rounded-full p-1 font-medium",
|
|
238
238
|
"aria-label": "Add Attachment",
|
|
239
239
|
children: /* @__PURE__ */ e(_, { className: "aui-attachment-add-icon size-4.5 stroke-[1.5px]" })
|
|
240
240
|
}
|
|
@@ -4,7 +4,7 @@ import { Slot as g } from "radix-ui";
|
|
|
4
4
|
import { cva as d } from "class-variance-authority";
|
|
5
5
|
import { cn as i } from "../../lib/cn.js";
|
|
6
6
|
const c = d(
|
|
7
|
-
"inline-flex items-center justify-center gap-1 rounded-md text-
|
|
7
|
+
"inline-flex items-center justify-center gap-1 rounded-md text-s font-medium transition-colors [&_svg]:size-3 [&_svg]:shrink-0",
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
variant: {
|
|
@@ -16,7 +16,7 @@ const f = ({
|
|
|
16
16
|
{
|
|
17
17
|
hideWhenSingleBranch: n,
|
|
18
18
|
className: m(
|
|
19
|
-
"aui-branch-picker-root text-muted-foreground -ms-2 me-2 inline-flex items-center text-
|
|
19
|
+
"aui-branch-picker-root text-muted-foreground -ms-2 me-2 inline-flex items-center text-s",
|
|
20
20
|
o
|
|
21
21
|
),
|
|
22
22
|
...c,
|
|
@@ -20,7 +20,7 @@ function ue({
|
|
|
20
20
|
}) {
|
|
21
21
|
return /* @__PURE__ */ n(S.Provider, { value: o, children: /* @__PURE__ */ n(T.Provider, { value: t ?? j, children: a }) });
|
|
22
22
|
}
|
|
23
|
-
const w = "flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-
|
|
23
|
+
const w = "flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-m text-left outline-none transition-colors hover:bg-muted focus-visible:bg-muted [&_svg]:size-4 [&_svg]:shrink-0 [&_img]:size-4 [&_img]:shrink-0 [&_img]:rounded-xs", _ = (o) => o.map((t) => t.label).slice(1).join(" · "), te = (o) => o.startsWith("mem.") || o.startsWith("skill.");
|
|
24
24
|
function fe() {
|
|
25
25
|
const o = E(S), t = E(T), a = V(), B = X((e) => e.attachments), [c, g] = y(!1), [u, h] = y([]), b = A(null), k = A(null), [d, O] = y(null);
|
|
26
26
|
if (U(() => {
|
|
@@ -102,8 +102,8 @@ function fe() {
|
|
|
102
102
|
children: /* @__PURE__ */ n(Q, {})
|
|
103
103
|
}
|
|
104
104
|
),
|
|
105
|
-
/* @__PURE__ */ n("span", { className: "min-w-0 flex-1 truncate text-
|
|
106
|
-
] }) : /* @__PURE__ */ n("div", { className: "px-2 py-1 text-
|
|
105
|
+
/* @__PURE__ */ n("span", { className: "min-w-0 flex-1 truncate text-s font-medium text-muted-foreground", children: u.map((e) => e.label).join(" · ") })
|
|
106
|
+
] }) : /* @__PURE__ */ n("div", { className: "px-2 py-1 text-s font-medium text-muted-foreground", children: "Agent's context" }),
|
|
107
107
|
(l == null ? void 0 : l.addable) && (() => {
|
|
108
108
|
const e = _(u), r = v.has(e);
|
|
109
109
|
return /* @__PURE__ */ m(
|
|
@@ -114,14 +114,14 @@ function fe() {
|
|
|
114
114
|
var s;
|
|
115
115
|
return C(e, (s = l.children) == null ? void 0 : s.map((i) => i.id));
|
|
116
116
|
},
|
|
117
|
-
className: K(w, "mb-0.5 font-medium text-brand"),
|
|
117
|
+
className: K(w, "mb-0.5 font-medium text-brand-text"),
|
|
118
118
|
children: [
|
|
119
119
|
/* @__PURE__ */ n(Y, {}),
|
|
120
120
|
/* @__PURE__ */ m("span", { className: "min-w-0 flex-1 truncate", children: [
|
|
121
121
|
"Add all of ",
|
|
122
122
|
l.label
|
|
123
123
|
] }),
|
|
124
|
-
r && /* @__PURE__ */ n(L, { className: "text-brand" })
|
|
124
|
+
r && /* @__PURE__ */ n(L, { className: "text-brand-text" })
|
|
125
125
|
]
|
|
126
126
|
}
|
|
127
127
|
);
|
|
@@ -153,8 +153,8 @@ function fe() {
|
|
|
153
153
|
children: [
|
|
154
154
|
e.icon ?? /* @__PURE__ */ n(P, {}),
|
|
155
155
|
/* @__PURE__ */ n("span", { className: "min-w-0 flex-1 truncate", children: e.label }),
|
|
156
|
-
e.hint && /* @__PURE__ */ n("span", { className: "shrink-0 text-
|
|
157
|
-
i && /* @__PURE__ */ n(L, { className: "shrink-0 text-brand" })
|
|
156
|
+
e.hint && /* @__PURE__ */ n("span", { className: "shrink-0 text-s tabular-nums text-muted-foreground", children: e.hint }),
|
|
157
|
+
i && /* @__PURE__ */ n(L, { className: "shrink-0 text-brand-text" })
|
|
158
158
|
]
|
|
159
159
|
},
|
|
160
160
|
e.id
|
|
@@ -10,7 +10,7 @@ function p({
|
|
|
10
10
|
}) {
|
|
11
11
|
return /* @__PURE__ */ r(t.Provider, { value: o, children: e });
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function g() {
|
|
14
14
|
const o = c(t);
|
|
15
15
|
if (!o) return null;
|
|
16
16
|
const { enabled: e, setEnabled: i } = o;
|
|
@@ -25,7 +25,7 @@ function x() {
|
|
|
25
25
|
"aria-pressed": e,
|
|
26
26
|
onClick: () => i(!e),
|
|
27
27
|
className: n(
|
|
28
|
-
"flex h-7 shrink-0 items-center gap-1.5 rounded-full px-2.5 text-
|
|
28
|
+
"flex h-7 shrink-0 items-center gap-1.5 rounded-full px-2.5 text-s font-medium outline-none transition-colors",
|
|
29
29
|
"focus-visible:ring-3 focus-visible:ring-ring",
|
|
30
30
|
e ? "bg-info-50 text-info-700 hover:bg-info-100" : "text-muted-foreground hover:bg-muted-foreground/15 hover:text-foreground"
|
|
31
31
|
),
|
|
@@ -48,6 +48,6 @@ function x() {
|
|
|
48
48
|
);
|
|
49
49
|
}
|
|
50
50
|
export {
|
|
51
|
-
|
|
51
|
+
g as ComposerDeepResearch,
|
|
52
52
|
p as DeepResearchProvider
|
|
53
53
|
};
|
|
@@ -140,7 +140,7 @@ function wi() {
|
|
|
140
140
|
"button",
|
|
141
141
|
{
|
|
142
142
|
type: "button",
|
|
143
|
-
className: "group flex h-7 shrink-0 items-center gap-1.5 rounded-full px-2.5 text-
|
|
143
|
+
className: "group flex h-7 shrink-0 items-center gap-1.5 rounded-full px-2.5 text-s font-medium text-muted-foreground outline-none transition-colors hover:bg-muted-foreground/15 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring",
|
|
144
144
|
"aria-label": "Add harness",
|
|
145
145
|
children: [
|
|
146
146
|
/* @__PURE__ */ e(a, { className: "size-4 shrink-0" }),
|
|
@@ -5,7 +5,7 @@ import { ComposerPrimitive as n, unstable_defaultDirectiveFormatter as u, unstab
|
|
|
5
5
|
import { Sparkles as y, ChevronRight as P, ChevronLeft as T } from "../../lib/icons.js";
|
|
6
6
|
import { Spinner as C } from "../spinner.js";
|
|
7
7
|
import { cn as I } from "../../lib/cn.js";
|
|
8
|
-
function
|
|
8
|
+
function f(o, r, i) {
|
|
9
9
|
return o && (r != null && r[o]) ? r[o] : i;
|
|
10
10
|
}
|
|
11
11
|
const _ = ({
|
|
@@ -19,7 +19,7 @@ const _ = ({
|
|
|
19
19
|
className: "flex flex-col py-1",
|
|
20
20
|
children: [
|
|
21
21
|
c.map((a) => {
|
|
22
|
-
const l =
|
|
22
|
+
const l = f(a.id, o, r);
|
|
23
23
|
return /* @__PURE__ */ s(
|
|
24
24
|
n.Unstable_TriggerPopoverCategoryItem,
|
|
25
25
|
{
|
|
@@ -53,14 +53,14 @@ const _ = ({
|
|
|
53
53
|
"data-slot": "composer-trigger-popover-items",
|
|
54
54
|
className: "flex flex-col",
|
|
55
55
|
children: [
|
|
56
|
-
/* @__PURE__ */ s(n.Unstable_TriggerPopoverBack, { className: "text-muted-foreground hover:bg-accent flex cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-
|
|
56
|
+
/* @__PURE__ */ s(n.Unstable_TriggerPopoverBack, { className: "text-muted-foreground hover:bg-accent flex cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-s tracking-wide uppercase transition-colors", children: [
|
|
57
57
|
/* @__PURE__ */ e(T, { className: "size-3.5" }),
|
|
58
58
|
i
|
|
59
59
|
] }),
|
|
60
60
|
/* @__PURE__ */ s("div", { className: "py-1", children: [
|
|
61
61
|
p.map((t, m) => {
|
|
62
62
|
var d;
|
|
63
|
-
const g = typeof ((d = t.metadata) == null ? void 0 : d.icon) == "string" ? t.metadata.icon : void 0, v =
|
|
63
|
+
const g = typeof ((d = t.metadata) == null ? void 0 : d.icon) == "string" ? t.metadata.icon : void 0, v = f(g, o, r);
|
|
64
64
|
return /* @__PURE__ */ s(
|
|
65
65
|
n.Unstable_TriggerPopoverItem,
|
|
66
66
|
{
|
|
@@ -72,7 +72,7 @@ const _ = ({
|
|
|
72
72
|
/* @__PURE__ */ e(v, { className: "text-primary size-3.5" }),
|
|
73
73
|
t.label
|
|
74
74
|
] }),
|
|
75
|
-
t.description && /* @__PURE__ */ e("span", { className: "text-muted-foreground ms-5.5 text-
|
|
75
|
+
t.description && /* @__PURE__ */ e("span", { className: "text-muted-foreground ms-5.5 text-s leading-tight", children: t.description })
|
|
76
76
|
]
|
|
77
77
|
},
|
|
78
78
|
t.id
|
|
@@ -93,7 +93,7 @@ const _ = ({
|
|
|
93
93
|
]
|
|
94
94
|
}
|
|
95
95
|
) });
|
|
96
|
-
},
|
|
96
|
+
}, x = ({
|
|
97
97
|
iconMap: o,
|
|
98
98
|
fallbackIcon: r = y,
|
|
99
99
|
backLabel: i = "Back",
|
|
@@ -149,9 +149,9 @@ const _ = ({
|
|
|
149
149
|
]
|
|
150
150
|
}
|
|
151
151
|
));
|
|
152
|
-
|
|
152
|
+
x.displayName = "ComposerTriggerPopover";
|
|
153
153
|
const S = h(
|
|
154
|
-
|
|
154
|
+
x
|
|
155
155
|
);
|
|
156
156
|
export {
|
|
157
157
|
S as ComposerTriggerPopover
|
|
@@ -9,18 +9,18 @@ import { ComposerQuotePreview as K } from "./quote.js";
|
|
|
9
9
|
import { ThreadComponentsContext as j } from "./thread-context.js";
|
|
10
10
|
import { TooltipIconButton as P } from "./tooltip-icon-button.js";
|
|
11
11
|
import { Button as A } from "../ui/button.js";
|
|
12
|
-
import { ComposerPrimitive as
|
|
13
|
-
import { Mic as Y, Stop as
|
|
12
|
+
import { ComposerPrimitive as a, MessagePrimitive as q, unstable_useComposerInput as U, AuiIf as S } from "@assistant-ui/react";
|
|
13
|
+
import { Mic as Y, Stop as _, ArrowUp as O } from "../../lib/icons.js";
|
|
14
14
|
const Q = 24, V = 850, X = 1800, G = 3e3;
|
|
15
|
-
function J(
|
|
15
|
+
function J(s) {
|
|
16
16
|
return Math.min(
|
|
17
17
|
X,
|
|
18
|
-
Math.max(V,
|
|
18
|
+
Math.max(V, s.length * Q)
|
|
19
19
|
);
|
|
20
20
|
}
|
|
21
|
-
function W(
|
|
22
|
-
if (n <= 0 ||
|
|
23
|
-
return r(
|
|
21
|
+
function W(s, n, r, f, x) {
|
|
22
|
+
if (n <= 0 || s.length === 0)
|
|
23
|
+
return r(s), { promise: Promise.resolve(), cancel: () => {
|
|
24
24
|
} };
|
|
25
25
|
let v = 0, C, N;
|
|
26
26
|
return {
|
|
@@ -37,8 +37,8 @@ function W(a, n, r, f, x) {
|
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
h !== null && (m += i - h, h = null);
|
|
40
|
-
const l = Math.min(1, (i - m) / n), c = l >= 1 ?
|
|
41
|
-
if (r(
|
|
40
|
+
const l = Math.min(1, (i - m) / n), c = l >= 1 ? s.length : Math.floor(l * s.length);
|
|
41
|
+
if (r(s.slice(0, c)), l >= 1) {
|
|
42
42
|
y();
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
@@ -52,7 +52,7 @@ function W(a, n, r, f, x) {
|
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
const Z = ({
|
|
55
|
-
autoFocus:
|
|
55
|
+
autoFocus: s = !0
|
|
56
56
|
}) => {
|
|
57
57
|
const { setText: n } = U(), r = u.useContext(L), [f, x] = u.useState(
|
|
58
58
|
(r == null ? void 0 : r[0]) ?? "Send a message…"
|
|
@@ -69,16 +69,16 @@ const Z = ({
|
|
|
69
69
|
l(t);
|
|
70
70
|
}, g = () => {
|
|
71
71
|
window.clearTimeout(i), i = window.setTimeout(c, 0);
|
|
72
|
-
},
|
|
72
|
+
}, w = () => {
|
|
73
73
|
m.current = o.value.length > 0 || document.activeElement === o;
|
|
74
74
|
}, z = (t, d) => {
|
|
75
75
|
n(t), o.value = t, o.dispatchEvent(new Event("input", { bubbles: !0 })), l(t.length > 0), window.setTimeout(() => {
|
|
76
76
|
document.activeElement === o && o.setSelectionRange(d, d);
|
|
77
77
|
}, 0);
|
|
78
78
|
}, R = (t) => {
|
|
79
|
-
const d = o.selectionStart ?? 0,
|
|
80
|
-
return d ===
|
|
81
|
-
o.value.slice(0, d) + o.value.slice(
|
|
79
|
+
const d = o.selectionStart ?? 0, M = o.selectionEnd ?? d;
|
|
80
|
+
return d === M || t.inputType !== "deleteContentBackward" && t.inputType !== "deleteContentForward" && t.inputType !== "deleteByCut" ? !1 : (t.preventDefault(), z(
|
|
81
|
+
o.value.slice(0, d) + o.value.slice(M),
|
|
82
82
|
d
|
|
83
83
|
), !0);
|
|
84
84
|
}, E = (t) => {
|
|
@@ -89,11 +89,11 @@ const Z = ({
|
|
|
89
89
|
}
|
|
90
90
|
g();
|
|
91
91
|
}
|
|
92
|
-
},
|
|
92
|
+
}, b = (t) => {
|
|
93
93
|
(t.metaKey || t.ctrlKey) && !t.altKey && t.key.toLowerCase() === "a" && (t.preventDefault(), o.select());
|
|
94
94
|
};
|
|
95
|
-
return c(), o.addEventListener("beforeinput", E), o.addEventListener("input", c), o.addEventListener("focus",
|
|
96
|
-
window.clearTimeout(i), o.removeEventListener("beforeinput", E), o.removeEventListener("input", c), o.removeEventListener("focus",
|
|
95
|
+
return c(), o.addEventListener("beforeinput", E), o.addEventListener("input", c), o.addEventListener("focus", w), o.addEventListener("blur", w), o.addEventListener("keydown", b), () => {
|
|
96
|
+
window.clearTimeout(i), o.removeEventListener("beforeinput", E), o.removeEventListener("input", c), o.removeEventListener("focus", w), o.removeEventListener("blur", w), o.removeEventListener("keydown", b);
|
|
97
97
|
};
|
|
98
98
|
}, [o, n]), u.useEffect(() => {
|
|
99
99
|
var E;
|
|
@@ -106,25 +106,25 @@ const Z = ({
|
|
|
106
106
|
return;
|
|
107
107
|
}
|
|
108
108
|
let i = !1, l = 0, c, g;
|
|
109
|
-
const
|
|
110
|
-
c = window.setTimeout(t,
|
|
109
|
+
const w = (b) => new Promise((t) => {
|
|
110
|
+
c = window.setTimeout(t, b);
|
|
111
111
|
}), z = () => i;
|
|
112
112
|
return (async () => {
|
|
113
113
|
for (; !i; ) {
|
|
114
|
-
for (; m.current && !i; ) await
|
|
114
|
+
for (; m.current && !i; ) await w(100);
|
|
115
115
|
if (i) return;
|
|
116
|
-
const
|
|
116
|
+
const b = r[l];
|
|
117
117
|
x("");
|
|
118
118
|
const { promise: t, cancel: d } = W(
|
|
119
|
-
|
|
120
|
-
J(
|
|
119
|
+
b,
|
|
120
|
+
J(b),
|
|
121
121
|
x,
|
|
122
122
|
z,
|
|
123
123
|
() => m.current
|
|
124
124
|
);
|
|
125
125
|
if (g = d, await t, g = void 0, i) return;
|
|
126
126
|
if (!m.current) {
|
|
127
|
-
if (await
|
|
127
|
+
if (await w(G), i) return;
|
|
128
128
|
l = (l + 1) % r.length;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
@@ -143,13 +143,13 @@ const Z = ({
|
|
|
143
143
|
}
|
|
144
144
|
),
|
|
145
145
|
/* @__PURE__ */ e(
|
|
146
|
-
|
|
146
|
+
a.Input,
|
|
147
147
|
{
|
|
148
148
|
ref: h,
|
|
149
149
|
placeholder: r != null && r.length ? "" : f,
|
|
150
|
-
className: "aui-composer-input caret-
|
|
150
|
+
className: "aui-composer-input caret-brand placeholder:text-muted-foreground/80 relative z-10 max-h-32 min-h-14 w-full resize-none bg-transparent px-2.5 py-1 text-base text-foreground outline-none",
|
|
151
151
|
rows: 1,
|
|
152
|
-
autoFocus:
|
|
152
|
+
autoFocus: s,
|
|
153
153
|
enterKeyHint: "send",
|
|
154
154
|
"aria-label": "Message input"
|
|
155
155
|
}
|
|
@@ -159,14 +159,14 @@ const Z = ({
|
|
|
159
159
|
void 0
|
|
160
160
|
);
|
|
161
161
|
function me({
|
|
162
|
-
prompts:
|
|
162
|
+
prompts: s,
|
|
163
163
|
children: n
|
|
164
164
|
}) {
|
|
165
|
-
return /* @__PURE__ */ e(L.Provider, { value:
|
|
165
|
+
return /* @__PURE__ */ e(L.Provider, { value: s, children: n });
|
|
166
166
|
}
|
|
167
167
|
const pe = ({
|
|
168
|
-
autoFocus:
|
|
169
|
-
}) => /* @__PURE__ */ e(
|
|
168
|
+
autoFocus: s = !0
|
|
169
|
+
}) => /* @__PURE__ */ e(a.Root, { className: "aui-composer-root animate-in fade-in slide-in-from-bottom-2 fill-mode-both relative flex w-full flex-col duration-200 delay-[420ms]", children: /* @__PURE__ */ e(a.Unstable_TriggerPopoverRoot, { children: /* @__PURE__ */ e(a.AttachmentDropzone, { asChild: !0, children: /* @__PURE__ */ p(
|
|
170
170
|
"div",
|
|
171
171
|
{
|
|
172
172
|
"data-slot": "aui_composer-shell",
|
|
@@ -174,21 +174,21 @@ const pe = ({
|
|
|
174
174
|
var f;
|
|
175
175
|
n.target.closest("button, a, input, textarea, [role='button']") || (f = n.currentTarget.querySelector("textarea")) == null || f.focus();
|
|
176
176
|
},
|
|
177
|
-
className: "border-wg2 data-[dragging=true]:border-ring focus-within:border-
|
|
177
|
+
className: "border-wg2 data-[dragging=true]:border-ring focus-within:border-field-focus relative flex w-full flex-col gap-2 rounded-(--composer-radius) border bg-(--composer-bg) p-(--composer-padding) shadow-400 transition-[border-color,box-shadow] data-[dragging=true]:border-dashed data-[dragging=true]:bg-action-primary-soft",
|
|
178
178
|
children: [
|
|
179
179
|
/* @__PURE__ */ e(K, { className: "mx-0 mt-0" }),
|
|
180
180
|
/* @__PURE__ */ e(k, {}),
|
|
181
|
-
/* @__PURE__ */ e(Z, { autoFocus:
|
|
181
|
+
/* @__PURE__ */ e(Z, { autoFocus: s }),
|
|
182
182
|
/* @__PURE__ */ e($, {})
|
|
183
183
|
]
|
|
184
184
|
}
|
|
185
185
|
) }) }) }), $ = () => {
|
|
186
|
-
const { ComposerAccessories:
|
|
186
|
+
const { ComposerAccessories: s = ee } = I(j);
|
|
187
187
|
return /* @__PURE__ */ p("div", { className: "aui-composer-action-wrapper relative flex items-center justify-between", children: [
|
|
188
|
-
/* @__PURE__ */ e("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ e(
|
|
188
|
+
/* @__PURE__ */ e("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ e(s, {}) }),
|
|
189
189
|
/* @__PURE__ */ p("div", { className: "flex items-center gap-1.5", children: [
|
|
190
190
|
/* @__PURE__ */ p(S, { condition: (n) => n.thread.capabilities.dictation, children: [
|
|
191
|
-
/* @__PURE__ */ e(S, { condition: (n) => n.composer.dictation == null, children: /* @__PURE__ */ e(
|
|
191
|
+
/* @__PURE__ */ e(S, { condition: (n) => n.composer.dictation == null, children: /* @__PURE__ */ e(a.Dictate, { asChild: !0, children: /* @__PURE__ */ e(
|
|
192
192
|
P,
|
|
193
193
|
{
|
|
194
194
|
tooltip: "Voice input",
|
|
@@ -201,7 +201,7 @@ const pe = ({
|
|
|
201
201
|
children: /* @__PURE__ */ e(Y, { className: "aui-composer-dictate-icon size-4" })
|
|
202
202
|
}
|
|
203
203
|
) }) }),
|
|
204
|
-
/* @__PURE__ */ e(S, { condition: (n) => n.composer.dictation != null, children: /* @__PURE__ */ e(
|
|
204
|
+
/* @__PURE__ */ e(S, { condition: (n) => n.composer.dictation != null, children: /* @__PURE__ */ e(a.StopDictation, { asChild: !0, children: /* @__PURE__ */ e(
|
|
205
205
|
P,
|
|
206
206
|
{
|
|
207
207
|
tooltip: "Stop dictation",
|
|
@@ -211,11 +211,11 @@ const pe = ({
|
|
|
211
211
|
size: "icon",
|
|
212
212
|
className: "aui-composer-stop-dictation text-destructive size-7 rounded-full",
|
|
213
213
|
"aria-label": "Stop voice input",
|
|
214
|
-
children: /* @__PURE__ */ e(
|
|
214
|
+
children: /* @__PURE__ */ e(_, { className: "aui-composer-stop-dictation-icon size-3.5 animate-pulse fill-current" })
|
|
215
215
|
}
|
|
216
216
|
) }) })
|
|
217
217
|
] }),
|
|
218
|
-
/* @__PURE__ */ e(S, { condition: (n) => !n.thread.isRunning, children: /* @__PURE__ */ e(
|
|
218
|
+
/* @__PURE__ */ e(S, { condition: (n) => !n.thread.isRunning, children: /* @__PURE__ */ e(a.Send, { asChild: !0, children: /* @__PURE__ */ e(
|
|
219
219
|
P,
|
|
220
220
|
{
|
|
221
221
|
tooltip: "Send message",
|
|
@@ -228,7 +228,7 @@ const pe = ({
|
|
|
228
228
|
children: /* @__PURE__ */ e(O, { className: "aui-composer-send-icon size-4.5" })
|
|
229
229
|
}
|
|
230
230
|
) }) }),
|
|
231
|
-
/* @__PURE__ */ e(S, { condition: (n) => n.thread.isRunning, children: /* @__PURE__ */ e(
|
|
231
|
+
/* @__PURE__ */ e(S, { condition: (n) => n.thread.isRunning, children: /* @__PURE__ */ e(a.Cancel, { asChild: !0, children: /* @__PURE__ */ e(
|
|
232
232
|
A,
|
|
233
233
|
{
|
|
234
234
|
type: "button",
|
|
@@ -236,7 +236,7 @@ const pe = ({
|
|
|
236
236
|
size: "icon",
|
|
237
237
|
className: "aui-composer-cancel size-7 rounded-full",
|
|
238
238
|
"aria-label": "Stop generating",
|
|
239
|
-
children: /* @__PURE__ */ e(
|
|
239
|
+
children: /* @__PURE__ */ e(_, { className: "aui-composer-cancel-icon size-3.5 fill-current" })
|
|
240
240
|
}
|
|
241
241
|
) }) })
|
|
242
242
|
] })
|
|
@@ -250,16 +250,16 @@ const pe = ({
|
|
|
250
250
|
{
|
|
251
251
|
"data-slot": "aui_edit-composer-wrapper",
|
|
252
252
|
className: "flex flex-col px-2 [contain-intrinsic-size:auto_200px] [content-visibility:auto]",
|
|
253
|
-
children: /* @__PURE__ */ p(
|
|
253
|
+
children: /* @__PURE__ */ p(a.Root, { className: "aui-edit-composer-root border-border/60 focus-within:border-field-focus ms-auto flex w-full max-w-[85%] flex-col rounded-(--composer-radius) border bg-(--composer-bg) shadow-200", children: [
|
|
254
254
|
/* @__PURE__ */ e(
|
|
255
|
-
|
|
255
|
+
a.Input,
|
|
256
256
|
{
|
|
257
257
|
className: "aui-edit-composer-input text-foreground min-h-14 w-full resize-none bg-transparent px-4 pt-3 pb-1 text-base outline-none",
|
|
258
258
|
autoFocus: !0
|
|
259
259
|
}
|
|
260
260
|
),
|
|
261
261
|
/* @__PURE__ */ p("div", { className: "aui-edit-composer-footer mx-2.5 mb-2.5 flex items-center gap-1.5 self-end", children: [
|
|
262
|
-
/* @__PURE__ */ e(
|
|
262
|
+
/* @__PURE__ */ e(a.Cancel, { asChild: !0, children: /* @__PURE__ */ e(
|
|
263
263
|
A,
|
|
264
264
|
{
|
|
265
265
|
variant: "ghost",
|
|
@@ -268,7 +268,7 @@ const pe = ({
|
|
|
268
268
|
children: "Cancel"
|
|
269
269
|
}
|
|
270
270
|
) }),
|
|
271
|
-
/* @__PURE__ */ e(
|
|
271
|
+
/* @__PURE__ */ e(a.Send, { asChild: !0, children: /* @__PURE__ */ e(A, { size: "sm", className: "h-8 rounded-full px-3.5", children: "Update" }) })
|
|
272
272
|
] })
|
|
273
273
|
] })
|
|
274
274
|
}
|
|
@@ -14,7 +14,7 @@ const $ = v(
|
|
|
14
14
|
muted: "bg-muted/50 hover:bg-muted/70"
|
|
15
15
|
},
|
|
16
16
|
size: {
|
|
17
|
-
sm: "px-2.5 py-1.5 text-
|
|
17
|
+
sm: "px-2.5 py-1.5 text-s",
|
|
18
18
|
default: "px-3 py-2 text-sm",
|
|
19
19
|
lg: "px-4 py-3 text-base"
|
|
20
20
|
}
|
|
@@ -86,7 +86,7 @@ function m({
|
|
|
86
86
|
}
|
|
87
87
|
);
|
|
88
88
|
}
|
|
89
|
-
function
|
|
89
|
+
function h({ bytes: t, className: e, ...n }) {
|
|
90
90
|
return /* @__PURE__ */ o(
|
|
91
91
|
"span",
|
|
92
92
|
{
|
|
@@ -97,7 +97,7 @@ function x({ bytes: t, className: e, ...n }) {
|
|
|
97
97
|
}
|
|
98
98
|
);
|
|
99
99
|
}
|
|
100
|
-
function
|
|
100
|
+
function x({
|
|
101
101
|
data: t,
|
|
102
102
|
mimeType: e,
|
|
103
103
|
filename: n,
|
|
@@ -127,10 +127,10 @@ const M = ({ filename: t, data: e, mimeType: n }) => {
|
|
|
127
127
|
/* @__PURE__ */ o(f, { mimeType: n }),
|
|
128
128
|
/* @__PURE__ */ l("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
|
|
129
129
|
/* @__PURE__ */ o(m, { children: t }),
|
|
130
|
-
/* @__PURE__ */ o(
|
|
130
|
+
/* @__PURE__ */ o(h, { bytes: r, className: "text-s" })
|
|
131
131
|
] }),
|
|
132
132
|
/* @__PURE__ */ o(
|
|
133
|
-
|
|
133
|
+
x,
|
|
134
134
|
{
|
|
135
135
|
data: e,
|
|
136
136
|
mimeType: n,
|
|
@@ -143,15 +143,15 @@ i.displayName = "File";
|
|
|
143
143
|
i.Root = u;
|
|
144
144
|
i.Icon = f;
|
|
145
145
|
i.Name = m;
|
|
146
|
-
i.Size =
|
|
147
|
-
i.Download =
|
|
146
|
+
i.Size = h;
|
|
147
|
+
i.Download = x;
|
|
148
148
|
export {
|
|
149
149
|
i as File,
|
|
150
|
-
|
|
150
|
+
x as FileDownload,
|
|
151
151
|
f as FileIconDisplay,
|
|
152
152
|
m as FileName,
|
|
153
153
|
u as FileRoot,
|
|
154
|
-
|
|
154
|
+
h as FileSize,
|
|
155
155
|
$ as fileVariants,
|
|
156
156
|
W as formatFileSize,
|
|
157
157
|
D as getBase64Size,
|
|
@@ -208,7 +208,7 @@ const h = () => /* @__PURE__ */ o(
|
|
|
208
208
|
sup: ({ className: t, ...e }) => /* @__PURE__ */ o(
|
|
209
209
|
"sup",
|
|
210
210
|
{
|
|
211
|
-
className: r("aui-md-sup [&>a]:text-
|
|
211
|
+
className: r("aui-md-sup [&>a]:text-s [&>a]:no-underline", t),
|
|
212
212
|
...e
|
|
213
213
|
}
|
|
214
214
|
),
|
|
@@ -13,7 +13,7 @@ const r = (s) => s === void 0 ? "—" : s < 1e3 ? `${Math.round(s)}ms` : `${(s /
|
|
|
13
13
|
"data-slot": "message-timing-trigger",
|
|
14
14
|
"aria-label": "Message timing",
|
|
15
15
|
className: d(
|
|
16
|
-
"text-muted-foreground hover:bg-accent hover:text-accent-foreground flex items-center rounded-md p-1 font-mono text-
|
|
16
|
+
"text-muted-foreground hover:bg-accent hover:text-accent-foreground flex items-center rounded-md p-1 font-mono text-s tabular-nums transition-colors",
|
|
17
17
|
s
|
|
18
18
|
),
|
|
19
19
|
children: r(e.totalStreamTime)
|