@actioneer/ads 0.6.0 → 0.8.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/DESIGN.md +597 -0
- package/components/ai-elements/agent-trace.d.ts +2 -2
- package/components/ai-elements/agent-trace.js +164 -105
- package/components/ai-elements/chain-of-thought.d.ts +2 -2
- package/components/ai-elements/chain-of-thought.js +1 -1
- package/components/ai-elements/index.d.ts +0 -5
- package/components/ai-elements/inline-citation.js +1 -1
- package/components/alert.d.ts +6 -6
- package/components/alert.js +89 -53
- package/components/answer-sources.d.ts +2 -6
- package/components/answer-sources.js +58 -60
- package/components/answer.d.ts +5 -0
- package/components/answer.js +311 -271
- package/components/assistant-ui/action-bar.js +1 -1
- package/components/assistant-ui/attachment.js +11 -11
- package/components/assistant-ui/badge.js +18 -18
- package/components/assistant-ui/composer-harness.js +15 -20
- package/components/assistant-ui/composer-trigger-popover.js +9 -9
- package/components/assistant-ui/composer.d.ts +3 -1
- package/components/assistant-ui/composer.js +148 -144
- package/components/assistant-ui/image.js +61 -61
- package/components/assistant-ui/index.d.ts +0 -3
- package/components/assistant-ui/message-timing.js +1 -1
- package/components/assistant-ui/selection-toolbar.js +7 -7
- package/components/assistant-ui/thread-context.d.ts +3 -1
- package/components/assistant-ui/thread.js +50 -42
- package/components/avatar.js +42 -42
- package/components/badge.d.ts +5 -6
- package/components/badge.js +13 -76
- package/components/body-page-header.d.ts +15 -0
- package/components/body-page-header.js +24 -0
- package/components/brand-loader.d.ts +0 -3
- package/components/brand-loader.js +10 -32
- package/components/breadcrumbs.d.ts +0 -7
- package/components/breadcrumbs.js +54 -71
- package/components/button.d.ts +1 -1
- package/components/button.js +55 -49
- package/components/chart.js +298 -296
- package/components/chip.d.ts +13 -1
- package/components/chip.js +93 -80
- package/components/collection-header.d.ts +17 -0
- package/components/collection-header.js +31 -0
- package/components/connector-card.d.ts +6 -6
- package/components/connector-card.js +31 -32
- package/components/date-range-picker.d.ts +2 -1
- package/components/date-range-picker.js +158 -122
- package/components/divider.js +25 -25
- package/components/drawer.d.ts +6 -2
- package/components/drawer.js +61 -58
- package/components/dropdown.d.ts +1 -2
- package/components/dropdown.js +88 -89
- package/components/field.js +41 -36
- package/components/file-dropzone.js +1 -1
- package/components/index.d.ts +4 -4
- package/components/index.js +501 -549
- package/components/infinite-canvas.js +24 -24
- package/components/input-field.d.ts +18 -3
- package/components/input-field.js +88 -72
- package/components/input.js +32 -29
- package/components/modal.d.ts +31 -3
- package/components/modal.js +244 -170
- package/components/number-field.js +45 -42
- package/components/page-body.d.ts +12 -0
- package/components/page-body.js +18 -0
- package/components/pagination.js +36 -36
- package/components/pixel-blast-svg.js +71 -73
- package/components/select.d.ts +21 -0
- package/components/select.js +189 -148
- package/components/setting-row.d.ts +6 -5
- package/components/setting-row.js +33 -32
- package/components/sidebar.d.ts +2 -0
- package/components/sidebar.js +151 -141
- package/components/skeleton.js +8 -7
- package/components/slider.js +1 -1
- package/components/surface-loader.d.ts +11 -0
- package/components/surface-loader.js +35 -0
- package/components/table.d.ts +16 -10
- package/components/table.js +427 -412
- package/components/tabs.d.ts +2 -0
- package/components/tabs.js +160 -295
- package/components/textarea.js +9 -9
- package/components/toast.d.ts +1 -1
- package/components/toast.js +181 -118
- package/components/tree.d.ts +5 -1
- package/components/tree.js +54 -49
- package/components/typography.d.ts +4 -4
- package/components/typography.js +13 -13
- package/components/ui/button.d.ts +1 -1
- package/components/ui/button.js +4 -4
- package/components/ui/dialog.js +25 -25
- package/demo/components/add-to-artifact.js +6 -10
- package/lib/cn.js +11 -4
- package/lib/icons.d.ts +4 -0
- package/lib/icons.js +103 -102
- package/lib/interactive.d.ts +1 -1
- package/llms.txt +132 -188
- package/manifest.json +1719 -2831
- package/package.json +2 -2
- package/styles.css +362 -233
- package/theme.css +312 -177
- package/components/agent-icon.d.ts +0 -76
- package/components/agent-icon.js +0 -265
- package/components/ai-elements/queue.d.ts +0 -60
- package/components/ai-elements/queue.js +0 -193
- package/components/ai-elements/speech-input.d.ts +0 -16
- package/components/ai-elements/speech-input.js +0 -151
- package/components/ai-elements/task-progress.d.ts +0 -41
- package/components/ai-elements/task-progress.js +0 -224
- package/components/ai-elements/task.d.ts +0 -39
- package/components/ai-elements/task.js +0 -105
- package/components/ai-elements/voice.d.ts +0 -90
- package/components/ai-elements/voice.js +0 -496
- package/components/assistant-ui/follow-up-suggestions.d.ts +0 -11
- package/components/assistant-ui/follow-up-suggestions.js +0 -72
- package/components/assistant-ui/suggestions.d.ts +0 -7
- package/components/assistant-ui/suggestions.js +0 -19
- package/components/assistant-ui/voice.d.ts +0 -18
- package/components/link.d.ts +0 -14
- package/components/link.js +0 -72
- package/components/navbar.d.ts +0 -15
- package/components/navbar.js +0 -68
- package/components/pixel-icon.d.ts +0 -37
- package/components/pixel-icon.js +0 -859
package/components/alert.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import * as
|
|
4
|
-
import { cva as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { jsx as e, jsxs as k } from "react/jsx-runtime";
|
|
3
|
+
import * as t from "react";
|
|
4
|
+
import { cva as A } from "class-variance-authority";
|
|
5
|
+
import { MotionConfig as E, motion as g } from "motion/react";
|
|
6
|
+
import { Info as p, WarningCircle as C, Warning as I, CheckCircle as R, Close as j } from "../lib/icons.js";
|
|
7
|
+
import { cn as d } from "../lib/cn.js";
|
|
8
|
+
import { springOverlay as z } from "../lib/motion.js";
|
|
9
|
+
const D = A(
|
|
10
|
+
"relative flex w-full items-start gap-4 overflow-hidden rounded-2xl border border-border bg-card p-4 shadow-[var(--shadow-200)]",
|
|
9
11
|
{
|
|
10
12
|
variants: {
|
|
11
13
|
variant: {
|
|
@@ -18,71 +20,105 @@ const h = m(
|
|
|
18
20
|
},
|
|
19
21
|
defaultVariants: { variant: "default" }
|
|
20
22
|
}
|
|
21
|
-
),
|
|
22
|
-
default:
|
|
23
|
-
success:
|
|
24
|
-
warning:
|
|
25
|
-
danger:
|
|
26
|
-
info:
|
|
27
|
-
},
|
|
28
|
-
({ className:
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
), T = {
|
|
24
|
+
default: p,
|
|
25
|
+
success: R,
|
|
26
|
+
warning: I,
|
|
27
|
+
danger: C,
|
|
28
|
+
info: p
|
|
29
|
+
}, M = t.forwardRef(
|
|
30
|
+
({ className: n, variant: r = "default", icon: s, duration: a = 0, onClose: l, children: x, ...v }, h) => {
|
|
31
|
+
const b = T[r ?? "default"], [i, w] = t.useState(!1), [o, N] = t.useState(!1), c = t.useRef(l), m = t.useRef(!1);
|
|
32
|
+
t.useEffect(() => {
|
|
33
|
+
c.current = l;
|
|
34
|
+
}, [l]);
|
|
35
|
+
const u = t.useCallback(() => {
|
|
36
|
+
o || w(!0);
|
|
37
|
+
}, [o]);
|
|
38
|
+
t.useEffect(() => {
|
|
39
|
+
if (a <= 0 || i || o) return;
|
|
40
|
+
const f = window.setTimeout(u, a);
|
|
41
|
+
return () => window.clearTimeout(f);
|
|
42
|
+
}, [u, a, o, i]);
|
|
43
|
+
const y = t.useCallback(() => {
|
|
44
|
+
var f;
|
|
45
|
+
!i || m.current || (m.current = !0, N(!0), (f = c.current) == null || f.call(c));
|
|
46
|
+
}, [i]);
|
|
47
|
+
return o ? null : /* @__PURE__ */ e(E, { reducedMotion: "user", children: /* @__PURE__ */ e(
|
|
48
|
+
g.div,
|
|
32
49
|
{
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
children:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
className:
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
initial: { opacity: 1, x: 32 },
|
|
51
|
+
animate: i ? { opacity: 0, x: -32 } : { opacity: 1, x: 0 },
|
|
52
|
+
transition: i ? { duration: 0.18, ease: "easeIn" } : z,
|
|
53
|
+
onAnimationComplete: y,
|
|
54
|
+
children: /* @__PURE__ */ k(
|
|
55
|
+
"div",
|
|
56
|
+
{
|
|
57
|
+
ref: h,
|
|
58
|
+
role: "alert",
|
|
59
|
+
className: d(D({ variant: r }), n),
|
|
60
|
+
...v,
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ e("span", { className: "flex shrink-0 select-none items-center justify-center py-1 text-(--alert-accent) [&_svg]:size-4", children: s ?? /* @__PURE__ */ e(b, { "aria-hidden": !0 }) }),
|
|
63
|
+
/* @__PURE__ */ e("div", { className: "flex min-w-0 grow flex-col items-start", children: x }),
|
|
64
|
+
l && /* @__PURE__ */ e(
|
|
65
|
+
"button",
|
|
66
|
+
{
|
|
67
|
+
type: "button",
|
|
68
|
+
"aria-label": "Dismiss",
|
|
69
|
+
onClick: u,
|
|
70
|
+
className: d(
|
|
71
|
+
"inline-flex size-6 shrink-0 items-center justify-center rounded-sm text-muted-foreground",
|
|
72
|
+
"transition-colors hover:bg-fill hover:text-foreground",
|
|
73
|
+
"outline-none focus-visible:ring-3 focus-visible:ring-ring",
|
|
74
|
+
"[&_svg]:size-4"
|
|
75
|
+
),
|
|
76
|
+
children: /* @__PURE__ */ e(j, { "aria-hidden": !0 })
|
|
77
|
+
}
|
|
51
78
|
),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
79
|
+
a > 0 && /* @__PURE__ */ e("span", { "aria-hidden": !0, className: "absolute inset-x-0 bottom-0 h-0.5 bg-wg3", children: /* @__PURE__ */ e(
|
|
80
|
+
g.span,
|
|
81
|
+
{
|
|
82
|
+
className: "block size-full origin-left bg-(--alert-accent)",
|
|
83
|
+
initial: { scaleX: 1 },
|
|
84
|
+
animate: { scaleX: 0 },
|
|
85
|
+
transition: { duration: a / 1e3, ease: "linear" }
|
|
86
|
+
},
|
|
87
|
+
a
|
|
88
|
+
) })
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
)
|
|
56
92
|
}
|
|
57
|
-
);
|
|
93
|
+
) });
|
|
58
94
|
}
|
|
59
95
|
);
|
|
60
|
-
|
|
61
|
-
const
|
|
96
|
+
M.displayName = "Alert";
|
|
97
|
+
const S = t.forwardRef(({ className: n, ...r }, s) => /* @__PURE__ */ e(
|
|
62
98
|
"p",
|
|
63
99
|
{
|
|
64
|
-
ref:
|
|
65
|
-
className:
|
|
100
|
+
ref: s,
|
|
101
|
+
className: d("text-xs font-normal leading-6 text-(--alert-accent)", n),
|
|
66
102
|
...r
|
|
67
103
|
}
|
|
68
104
|
));
|
|
69
|
-
|
|
70
|
-
const
|
|
105
|
+
S.displayName = "AlertTitle";
|
|
106
|
+
const V = t.forwardRef(({ className: n, ...r }, s) => (
|
|
71
107
|
// leading-normal (150%) — the description is the only part of an alert that
|
|
72
108
|
// regularly wraps, and the text-xs default (138%) sets multi-line copy too
|
|
73
109
|
// tight to scan.
|
|
74
110
|
/* @__PURE__ */ e(
|
|
75
111
|
"p",
|
|
76
112
|
{
|
|
77
|
-
ref:
|
|
78
|
-
className:
|
|
113
|
+
ref: s,
|
|
114
|
+
className: d("text-xs leading-normal text-muted-foreground", n),
|
|
79
115
|
...r
|
|
80
116
|
}
|
|
81
117
|
)
|
|
82
118
|
));
|
|
83
|
-
|
|
119
|
+
V.displayName = "AlertDescription";
|
|
84
120
|
export {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
121
|
+
M as Alert,
|
|
122
|
+
V as AlertDescription,
|
|
123
|
+
S as AlertTitle
|
|
88
124
|
};
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { DrawerProps } from './drawer';
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
export interface AnswerSourcesProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
/** Total referenced nodes represented by the source chips. */
|
|
5
|
-
count: number;
|
|
6
|
-
/** Label before the count. Defaults to “Sources”. */
|
|
7
|
-
label?: string;
|
|
8
4
|
}
|
|
9
|
-
/**
|
|
5
|
+
/** Direct source-control strip placed immediately before answer follow-ups. */
|
|
10
6
|
export declare const AnswerSources: React.ForwardRefExoticComponent<AnswerSourcesProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
7
|
export interface AnswerSourceChipProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
|
|
12
8
|
/** Connector/source mark shown before the label. */
|
|
@@ -15,7 +11,7 @@ export interface AnswerSourceChipProps extends Omit<React.ButtonHTMLAttributes<H
|
|
|
15
11
|
count?: number;
|
|
16
12
|
children: React.ReactNode;
|
|
17
13
|
}
|
|
18
|
-
/**
|
|
14
|
+
/** Canonical info chip that opens its referenced nodes in the inspector. */
|
|
19
15
|
export declare const AnswerSourceChip: React.ForwardRefExoticComponent<AnswerSourceChipProps & React.RefAttributes<HTMLButtonElement>>;
|
|
20
16
|
export interface AnswerSourceInspectorProps extends Omit<DrawerProps, "children"> {
|
|
21
17
|
/** Supporting count/context line beneath the title. */
|
|
@@ -1,75 +1,73 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
3
3
|
import * as c from "react";
|
|
4
|
-
import { ExternalLink as
|
|
4
|
+
import { ExternalLink as u, Table as f } from "../lib/icons.js";
|
|
5
5
|
import { cn as o } from "../lib/cn.js";
|
|
6
|
-
import {
|
|
7
|
-
import { Drawer as
|
|
8
|
-
const
|
|
6
|
+
import { Chip as p } from "./chip.js";
|
|
7
|
+
import { Drawer as h, DrawerHeader as x, DrawerTitle as b, DrawerBody as g } from "./drawer.js";
|
|
8
|
+
const N = c.forwardRef(({ className: a, children: r, ...s }, n) => /* @__PURE__ */ e(
|
|
9
9
|
"div",
|
|
10
10
|
{
|
|
11
|
-
ref:
|
|
11
|
+
ref: n,
|
|
12
12
|
className: o("flex flex-wrap items-center gap-2", a),
|
|
13
|
-
...
|
|
14
|
-
children:
|
|
15
|
-
/* @__PURE__ */ s("span", { className: "text-xs font-normal uppercase tracking-wide text-tertiary", children: [
|
|
16
|
-
e,
|
|
17
|
-
" · ",
|
|
18
|
-
n
|
|
19
|
-
] }),
|
|
20
|
-
t
|
|
21
|
-
]
|
|
13
|
+
...s,
|
|
14
|
+
children: r
|
|
22
15
|
}
|
|
23
16
|
));
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
17
|
+
N.displayName = "AnswerSources";
|
|
18
|
+
const w = c.forwardRef(({ icon: a, count: r, className: s, children: n, ...i }, l) => /* @__PURE__ */ e(
|
|
19
|
+
"button",
|
|
27
20
|
{
|
|
28
21
|
ref: l,
|
|
29
22
|
type: "button",
|
|
30
|
-
size: "xs",
|
|
31
|
-
variant: "ghost",
|
|
32
23
|
className: o(
|
|
33
|
-
"
|
|
34
|
-
|
|
24
|
+
"group inline-flex rounded-[4px] outline-none transition-transform active:scale-[0.97] focus-visible:ring-3 focus-visible:ring-info/40",
|
|
25
|
+
s
|
|
35
26
|
),
|
|
36
27
|
...i,
|
|
37
|
-
children:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
28
|
+
children: /* @__PURE__ */ t(
|
|
29
|
+
p,
|
|
30
|
+
{
|
|
31
|
+
color: "info",
|
|
32
|
+
startContent: a,
|
|
33
|
+
className: "pointer-events-none transition-colors duration-150 group-hover:border-info-400 group-hover:bg-info-100 group-focus-visible:border-info-400 group-focus-visible:bg-info-100",
|
|
34
|
+
children: [
|
|
35
|
+
n,
|
|
36
|
+
r != null && r > 1 && /* @__PURE__ */ t("span", { className: "tabular-nums", children: [
|
|
37
|
+
"· ",
|
|
38
|
+
r
|
|
39
|
+
] })
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
)
|
|
45
43
|
}
|
|
46
44
|
));
|
|
47
|
-
|
|
45
|
+
w.displayName = "AnswerSourceChip";
|
|
48
46
|
function D({
|
|
49
|
-
title:
|
|
50
|
-
description:
|
|
51
|
-
className:
|
|
52
|
-
children:
|
|
47
|
+
title: a = "Answer sources",
|
|
48
|
+
description: r,
|
|
49
|
+
className: s,
|
|
50
|
+
children: n,
|
|
53
51
|
...i
|
|
54
52
|
}) {
|
|
55
|
-
return /* @__PURE__ */
|
|
56
|
-
/* @__PURE__ */
|
|
57
|
-
/* @__PURE__ */
|
|
58
|
-
|
|
53
|
+
return /* @__PURE__ */ t(h, { className: o("h-full", s), ...i, children: [
|
|
54
|
+
/* @__PURE__ */ t(x, { className: "gap-1", children: [
|
|
55
|
+
/* @__PURE__ */ e(b, { children: a }),
|
|
56
|
+
r && /* @__PURE__ */ e("p", { className: "text-xs text-tertiary", children: r })
|
|
59
57
|
] }),
|
|
60
|
-
/* @__PURE__ */
|
|
58
|
+
/* @__PURE__ */ e(g, { className: "space-y-2", children: n })
|
|
61
59
|
] });
|
|
62
60
|
}
|
|
63
|
-
const
|
|
61
|
+
const v = c.forwardRef(
|
|
64
62
|
({
|
|
65
|
-
name:
|
|
66
|
-
source:
|
|
67
|
-
description:
|
|
68
|
-
status:
|
|
69
|
-
icon: i = /* @__PURE__ */
|
|
63
|
+
name: a,
|
|
64
|
+
source: r,
|
|
65
|
+
description: s,
|
|
66
|
+
status: n,
|
|
67
|
+
icon: i = /* @__PURE__ */ e(f, { "aria-hidden": !0, className: "size-4" }),
|
|
70
68
|
className: l,
|
|
71
69
|
...m
|
|
72
|
-
}, d) => /* @__PURE__ */
|
|
70
|
+
}, d) => /* @__PURE__ */ t(
|
|
73
71
|
"button",
|
|
74
72
|
{
|
|
75
73
|
ref: d,
|
|
@@ -82,17 +80,17 @@ const y = c.forwardRef(
|
|
|
82
80
|
),
|
|
83
81
|
...m,
|
|
84
82
|
children: [
|
|
85
|
-
/* @__PURE__ */
|
|
86
|
-
/* @__PURE__ */
|
|
87
|
-
/* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
|
|
83
|
+
/* @__PURE__ */ e("span", { className: "mt-0.5 grid size-8 shrink-0 place-items-center rounded-md bg-muted text-foreground", children: i }),
|
|
84
|
+
/* @__PURE__ */ t("span", { className: "min-w-0 flex-1", children: [
|
|
85
|
+
/* @__PURE__ */ t("span", { className: "flex items-center gap-2", children: [
|
|
86
|
+
/* @__PURE__ */ e("span", { className: "min-w-0 flex-1 truncate font-normal tabular-nums text-foreground", children: a }),
|
|
87
|
+
n && /* @__PURE__ */ e("span", { className: "shrink-0", children: n })
|
|
90
88
|
] }),
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
r && /* @__PURE__ */ e("span", { className: "mt-0.5 flex items-center gap-1.5 text-xs text-secondary", children: r }),
|
|
90
|
+
s && /* @__PURE__ */ e("span", { className: "mt-1.5 block text-xs text-secondary", children: s })
|
|
93
91
|
] }),
|
|
94
|
-
/* @__PURE__ */
|
|
95
|
-
|
|
92
|
+
/* @__PURE__ */ e(
|
|
93
|
+
u,
|
|
96
94
|
{
|
|
97
95
|
"aria-hidden": !0,
|
|
98
96
|
className: "mt-2 size-4 shrink-0 text-tertiary"
|
|
@@ -102,10 +100,10 @@ const y = c.forwardRef(
|
|
|
102
100
|
}
|
|
103
101
|
)
|
|
104
102
|
);
|
|
105
|
-
|
|
103
|
+
v.displayName = "AnswerSourceItem";
|
|
106
104
|
export {
|
|
107
|
-
|
|
105
|
+
w as AnswerSourceChip,
|
|
108
106
|
D as AnswerSourceInspector,
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
v as AnswerSourceItem,
|
|
108
|
+
N as AnswerSources
|
|
111
109
|
};
|
package/components/answer.d.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod/v4';
|
|
2
|
+
import { Button } from './button';
|
|
2
3
|
import * as React from "react";
|
|
3
4
|
/** The single tool name every ADS assistant uses for deterministic answers. */
|
|
4
5
|
export declare const ANSWER_TOOL_NAME = "render_answer";
|
|
5
6
|
export declare const ANSWER_TOOL_DESCRIPTION = "Render the final answer with one curated ADS template. Choose the semantic kind that best matches the answer \u2014 data kinds (fact, table, ranking, trend, comparison, breakdown, report), narrative kinds (explanation, knowledge, decision, status), task kinds (confirmation), and situation kinds (clarification, empty, error, refusal) \u2014 and provide only validated data; the application owns the layout.";
|
|
7
|
+
export interface FollowUpQuestionProps extends Omit<React.ComponentProps<typeof Button>, "size" | "variant" | "startContent" | "endContent"> {
|
|
8
|
+
}
|
|
9
|
+
/** Full-width next-question row used at the end of a structured answer. */
|
|
10
|
+
export declare const FollowUpQuestion: React.ForwardRefExoticComponent<Omit<FollowUpQuestionProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
6
11
|
export declare const AnswerToneSchema: z.ZodEnum<{
|
|
7
12
|
success: "success";
|
|
8
13
|
warning: "warning";
|