@supyagent/sdk 0.1.37 → 0.1.39
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/context.cjs +322 -0
- package/dist/context.cjs.map +1 -0
- package/dist/context.d.cts +204 -0
- package/dist/context.d.ts +204 -0
- package/dist/context.js +290 -0
- package/dist/context.js.map +1 -0
- package/dist/react.cjs +147 -44
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +36 -1
- package/dist/react.d.ts +36 -1
- package/dist/react.js +144 -44
- package/dist/react.js.map +1 -1
- package/package.json +7 -1
package/dist/react.cjs
CHANGED
|
@@ -37,6 +37,7 @@ __export(react_exports, {
|
|
|
37
37
|
CalendlyFormatter: () => CalendlyFormatter,
|
|
38
38
|
CollapsibleResult: () => CollapsibleResult,
|
|
39
39
|
ComputeFormatter: () => ComputeFormatter,
|
|
40
|
+
ContextIndicator: () => ContextIndicator,
|
|
40
41
|
DiscordFormatter: () => DiscordFormatter,
|
|
41
42
|
DocsFormatter: () => DocsFormatter,
|
|
42
43
|
DriveFileFormatter: () => DriveFileFormatter,
|
|
@@ -59,6 +60,7 @@ __export(react_exports, {
|
|
|
59
60
|
SlackMessageFormatter: () => SlackMessageFormatter,
|
|
60
61
|
SlidesFormatter: () => SlidesFormatter,
|
|
61
62
|
StripeFormatter: () => StripeFormatter,
|
|
63
|
+
SummaryMessage: () => SummaryMessage,
|
|
62
64
|
SupyagentToolAction: () => SupyagentToolAction,
|
|
63
65
|
SupyagentToolCall: () => SupyagentToolCall,
|
|
64
66
|
SupyagentToolResult: () => SupyagentToolResult,
|
|
@@ -77,6 +79,7 @@ __export(react_exports, {
|
|
|
77
79
|
getProviderLabel: () => getProviderLabel,
|
|
78
80
|
getSummary: () => getSummary,
|
|
79
81
|
humanizeToolName: () => humanizeToolName,
|
|
82
|
+
isContextSummary: () => isContextSummary,
|
|
80
83
|
maybeNormalize: () => maybeNormalize,
|
|
81
84
|
normalizeMicrosoftCalendar: () => normalizeMicrosoftCalendar,
|
|
82
85
|
normalizeMicrosoftDrive: () => normalizeMicrosoftDrive,
|
|
@@ -3530,10 +3533,107 @@ function ToolInput({ args }) {
|
|
|
3530
3533
|
}) });
|
|
3531
3534
|
}
|
|
3532
3535
|
|
|
3533
|
-
// src/ui/
|
|
3536
|
+
// src/ui/context-indicator.tsx
|
|
3537
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3538
|
+
function ContextIndicator({
|
|
3539
|
+
messages,
|
|
3540
|
+
maxTokens = 128e3,
|
|
3541
|
+
className
|
|
3542
|
+
}) {
|
|
3543
|
+
const lastContext = findLastContextMetadata(messages);
|
|
3544
|
+
if (!lastContext) return null;
|
|
3545
|
+
const ratio = Math.min(lastContext.usageRatio ?? 0, 1);
|
|
3546
|
+
const percent = Math.round(ratio * 100);
|
|
3547
|
+
const totalTokens = lastContext.totalTokens ?? 0;
|
|
3548
|
+
const color = ratio < 0.5 ? "bg-emerald-500" : ratio < 0.75 ? "bg-yellow-500" : ratio < 0.9 ? "bg-orange-500" : "bg-red-500";
|
|
3549
|
+
const label = formatTokens(totalTokens);
|
|
3550
|
+
const maxLabel = formatTokens(maxTokens);
|
|
3551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3552
|
+
"div",
|
|
3553
|
+
{
|
|
3554
|
+
className,
|
|
3555
|
+
title: `Context: ${label} / ${maxLabel} tokens (${percent}%)`,
|
|
3556
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center gap-2 text-xs text-muted-foreground", children: [
|
|
3557
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "h-1.5 w-16 rounded-full bg-muted overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3558
|
+
"div",
|
|
3559
|
+
{
|
|
3560
|
+
className: `h-full rounded-full transition-all duration-500 ${color}`,
|
|
3561
|
+
style: { width: `${percent}%` }
|
|
3562
|
+
}
|
|
3563
|
+
) }),
|
|
3564
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", { className: "tabular-nums", children: [
|
|
3565
|
+
percent,
|
|
3566
|
+
"%"
|
|
3567
|
+
] })
|
|
3568
|
+
] })
|
|
3569
|
+
}
|
|
3570
|
+
);
|
|
3571
|
+
}
|
|
3572
|
+
function findLastContextMetadata(messages) {
|
|
3573
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
3574
|
+
const meta = messages[i].metadata;
|
|
3575
|
+
if (meta?.context) return meta.context;
|
|
3576
|
+
}
|
|
3577
|
+
return null;
|
|
3578
|
+
}
|
|
3579
|
+
function formatTokens(n) {
|
|
3580
|
+
if (n >= 1e6) return `${(n / 1e6).toFixed(1)}M`;
|
|
3581
|
+
if (n >= 1e3) return `${(n / 1e3).toFixed(1)}k`;
|
|
3582
|
+
return `${n}`;
|
|
3583
|
+
}
|
|
3584
|
+
|
|
3585
|
+
// src/ui/summary-message.tsx
|
|
3534
3586
|
var import_react3 = require("react");
|
|
3587
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3588
|
+
function SummaryMessage({ message, className }) {
|
|
3589
|
+
const [expanded, setExpanded] = (0, import_react3.useState)(false);
|
|
3590
|
+
const meta = message.metadata;
|
|
3591
|
+
const summaryText = message.parts.find((p) => p.type === "text");
|
|
3592
|
+
const messageCount = meta?.messagesSummarized ?? 0;
|
|
3593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
3594
|
+
"div",
|
|
3595
|
+
{
|
|
3596
|
+
className: `rounded-lg border border-dashed border-border bg-muted/30 px-4 py-3 ${className ?? ""}`,
|
|
3597
|
+
children: [
|
|
3598
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
3599
|
+
"button",
|
|
3600
|
+
{
|
|
3601
|
+
type: "button",
|
|
3602
|
+
onClick: () => setExpanded(!expanded),
|
|
3603
|
+
className: "flex w-full items-center gap-2 text-left text-xs text-muted-foreground hover:text-foreground transition-colors",
|
|
3604
|
+
children: [
|
|
3605
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3606
|
+
"svg",
|
|
3607
|
+
{
|
|
3608
|
+
className: `h-3 w-3 shrink-0 transition-transform ${expanded ? "rotate-90" : ""}`,
|
|
3609
|
+
fill: "none",
|
|
3610
|
+
viewBox: "0 0 24 24",
|
|
3611
|
+
stroke: "currentColor",
|
|
3612
|
+
strokeWidth: 2,
|
|
3613
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" })
|
|
3614
|
+
}
|
|
3615
|
+
),
|
|
3616
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("span", { className: "font-medium", children: [
|
|
3617
|
+
"Context summarized",
|
|
3618
|
+
messageCount > 0 && ` (${messageCount} messages)`
|
|
3619
|
+
] })
|
|
3620
|
+
]
|
|
3621
|
+
}
|
|
3622
|
+
),
|
|
3623
|
+
expanded && summaryText?.text && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "mt-2 border-t border-border pt-2 text-sm text-muted-foreground whitespace-pre-wrap", children: summaryText.text })
|
|
3624
|
+
]
|
|
3625
|
+
}
|
|
3626
|
+
);
|
|
3627
|
+
}
|
|
3628
|
+
function isContextSummary(message) {
|
|
3629
|
+
const meta = message.metadata;
|
|
3630
|
+
return meta?.type === "context-summary";
|
|
3631
|
+
}
|
|
3632
|
+
|
|
3633
|
+
// src/ui/tool-action.tsx
|
|
3634
|
+
var import_react4 = require("react");
|
|
3535
3635
|
var import_lucide_react32 = require("lucide-react");
|
|
3536
|
-
var
|
|
3636
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3537
3637
|
var BADGE_STYLES2 = {
|
|
3538
3638
|
default: "bg-muted text-muted-foreground",
|
|
3539
3639
|
success: "bg-green-500/10 text-green-500",
|
|
@@ -3541,7 +3641,7 @@ var BADGE_STYLES2 = {
|
|
|
3541
3641
|
warning: "bg-yellow-500/10 text-yellow-600"
|
|
3542
3642
|
};
|
|
3543
3643
|
function SupyagentToolAction({ part, defaultExpanded = false }) {
|
|
3544
|
-
const [expanded, setExpanded] = (0,
|
|
3644
|
+
const [expanded, setExpanded] = (0, import_react4.useState)(defaultExpanded);
|
|
3545
3645
|
const toolName = extractToolName(part);
|
|
3546
3646
|
const state = extractState(part);
|
|
3547
3647
|
const args = extractArgs(part);
|
|
@@ -3566,59 +3666,59 @@ function SupyagentToolAction({ part, defaultExpanded = false }) {
|
|
|
3566
3666
|
const hasArgs = args && Object.keys(args).length > 0;
|
|
3567
3667
|
const hasExpandableContent = hasArgs || formatterOutput;
|
|
3568
3668
|
const canExpand = !isStreaming && hasExpandableContent;
|
|
3569
|
-
return /* @__PURE__ */ (0,
|
|
3669
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
3570
3670
|
"div",
|
|
3571
3671
|
{
|
|
3572
3672
|
className: "rounded-lg border border-border bg-card overflow-hidden",
|
|
3573
3673
|
"data-state": isDone ? "done" : isError ? "error" : isStreaming ? "streaming" : "pending",
|
|
3574
3674
|
children: [
|
|
3575
|
-
/* @__PURE__ */ (0,
|
|
3675
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
3576
3676
|
"button",
|
|
3577
3677
|
{
|
|
3578
3678
|
type: "button",
|
|
3579
3679
|
onClick: () => canExpand && setExpanded(!expanded),
|
|
3580
3680
|
className: `flex items-center gap-2 w-full px-3 py-2 text-left transition-colors ${canExpand ? "hover:bg-muted cursor-pointer" : "cursor-default"}`,
|
|
3581
3681
|
children: [
|
|
3582
|
-
/* @__PURE__ */ (0,
|
|
3583
|
-
/* @__PURE__ */ (0,
|
|
3584
|
-
isStreaming && /* @__PURE__ */ (0,
|
|
3682
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "relative shrink-0", children: [
|
|
3683
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ProviderIcon, { toolName, className: "h-4 w-4 text-muted-foreground" }),
|
|
3684
|
+
isStreaming && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react32.Loader2, { className: "absolute -top-1 -right-1 h-3 w-3 text-primary animate-spin" })
|
|
3585
3685
|
] }),
|
|
3586
|
-
/* @__PURE__ */ (0,
|
|
3587
|
-
/* @__PURE__ */ (0,
|
|
3588
|
-
summary && /* @__PURE__ */ (0,
|
|
3589
|
-
/* @__PURE__ */ (0,
|
|
3590
|
-
/* @__PURE__ */ (0,
|
|
3686
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xs text-muted-foreground", children: providerLabel }),
|
|
3687
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-sm text-foreground", children: actionLabel }),
|
|
3688
|
+
summary && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
|
|
3689
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-muted-foreground text-xs", children: "\xB7" }),
|
|
3690
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-sm text-muted-foreground flex-1 truncate", children: summary.text })
|
|
3591
3691
|
] }),
|
|
3592
|
-
!summary && /* @__PURE__ */ (0,
|
|
3593
|
-
summary?.badge && /* @__PURE__ */ (0,
|
|
3692
|
+
!summary && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "flex-1" }),
|
|
3693
|
+
summary?.badge && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3594
3694
|
"span",
|
|
3595
3695
|
{
|
|
3596
3696
|
className: `inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium shrink-0 ${BADGE_STYLES2[summary.badge.variant || "default"]}`,
|
|
3597
3697
|
children: summary.badge.text
|
|
3598
3698
|
}
|
|
3599
3699
|
),
|
|
3600
|
-
isDone && /* @__PURE__ */ (0,
|
|
3601
|
-
isError && /* @__PURE__ */ (0,
|
|
3602
|
-
/* @__PURE__ */ (0,
|
|
3700
|
+
isDone && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react32.Check, { className: "h-3.5 w-3.5 text-green-500 shrink-0" }),
|
|
3701
|
+
isError && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { className: "inline-flex items-center gap-1 rounded-full bg-destructive/10 px-2 py-0.5 text-xs text-destructive shrink-0", children: [
|
|
3702
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react32.AlertCircle, { className: "h-3 w-3" }),
|
|
3603
3703
|
"Error"
|
|
3604
3704
|
] }),
|
|
3605
|
-
isStreaming && /* @__PURE__ */ (0,
|
|
3606
|
-
canExpand && (expanded ? /* @__PURE__ */ (0,
|
|
3705
|
+
isStreaming && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary/10 px-2 py-0.5 text-xs text-primary animate-pulse shrink-0", children: "Calling..." }),
|
|
3706
|
+
canExpand && (expanded ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react32.ChevronDown, { className: "h-3.5 w-3.5 text-muted-foreground shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react32.ChevronRight, { className: "h-3.5 w-3.5 text-muted-foreground shrink-0" }))
|
|
3607
3707
|
]
|
|
3608
3708
|
}
|
|
3609
3709
|
),
|
|
3610
|
-
/* @__PURE__ */ (0,
|
|
3710
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3611
3711
|
"div",
|
|
3612
3712
|
{
|
|
3613
3713
|
className: "grid transition-[grid-template-rows] duration-200 ease-out",
|
|
3614
3714
|
style: { gridTemplateRows: expanded ? "1fr" : "0fr" },
|
|
3615
|
-
children: /* @__PURE__ */ (0,
|
|
3616
|
-
args && Object.keys(args).length > 0 && /* @__PURE__ */ (0,
|
|
3617
|
-
/* @__PURE__ */ (0,
|
|
3618
|
-
/* @__PURE__ */ (0,
|
|
3715
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "border-t border-border px-3 py-2 space-y-3", children: [
|
|
3716
|
+
args && Object.keys(args).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
|
|
3717
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-[10px] font-medium uppercase tracking-wider text-muted-foreground mb-1.5", children: "Input" }),
|
|
3718
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ToolInput, { args })
|
|
3619
3719
|
] }),
|
|
3620
|
-
formatterOutput && /* @__PURE__ */ (0,
|
|
3621
|
-
/* @__PURE__ */ (0,
|
|
3720
|
+
formatterOutput && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
|
|
3721
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-[10px] font-medium uppercase tracking-wider text-muted-foreground mb-1.5", children: "Output" }),
|
|
3622
3722
|
formatterOutput
|
|
3623
3723
|
] })
|
|
3624
3724
|
] }) })
|
|
@@ -3630,9 +3730,9 @@ function SupyagentToolAction({ part, defaultExpanded = false }) {
|
|
|
3630
3730
|
}
|
|
3631
3731
|
|
|
3632
3732
|
// src/ui/tool-call.tsx
|
|
3633
|
-
var
|
|
3733
|
+
var import_react5 = require("react");
|
|
3634
3734
|
var import_lucide_react33 = require("lucide-react");
|
|
3635
|
-
var
|
|
3735
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3636
3736
|
function extractToolName2(part) {
|
|
3637
3737
|
if (part.type.startsWith("tool-") && part.type !== "tool-invocation") {
|
|
3638
3738
|
return part.type.slice(5);
|
|
@@ -3651,7 +3751,7 @@ function extractArgs2(part) {
|
|
|
3651
3751
|
return part.input || part.args || part.toolInvocation?.args;
|
|
3652
3752
|
}
|
|
3653
3753
|
function SupyagentToolCall({ part }) {
|
|
3654
|
-
const [expanded, setExpanded] = (0,
|
|
3754
|
+
const [expanded, setExpanded] = (0, import_react5.useState)(false);
|
|
3655
3755
|
const toolName = extractToolName2(part);
|
|
3656
3756
|
const state = extractState2(part);
|
|
3657
3757
|
const args = extractArgs2(part);
|
|
@@ -3661,39 +3761,39 @@ function SupyagentToolCall({ part }) {
|
|
|
3661
3761
|
const isStreaming = state === "input-streaming";
|
|
3662
3762
|
const isError = state === "output-error";
|
|
3663
3763
|
const isDone = state === "output-available";
|
|
3664
|
-
return /* @__PURE__ */ (0,
|
|
3764
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
3665
3765
|
"div",
|
|
3666
3766
|
{
|
|
3667
3767
|
className: "rounded-lg border border-border bg-card overflow-hidden",
|
|
3668
3768
|
"data-state": isDone ? "done" : isError ? "error" : isStreaming ? "streaming" : "pending",
|
|
3669
3769
|
children: [
|
|
3670
|
-
/* @__PURE__ */ (0,
|
|
3770
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
3671
3771
|
"button",
|
|
3672
3772
|
{
|
|
3673
3773
|
type: "button",
|
|
3674
3774
|
onClick: () => args && setExpanded(!expanded),
|
|
3675
3775
|
className: "flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-muted transition-colors",
|
|
3676
3776
|
children: [
|
|
3677
|
-
/* @__PURE__ */ (0,
|
|
3678
|
-
/* @__PURE__ */ (0,
|
|
3679
|
-
isStreaming && /* @__PURE__ */ (0,
|
|
3777
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "relative", children: [
|
|
3778
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ProviderIcon, { toolName, className: "h-4 w-4 text-muted-foreground" }),
|
|
3779
|
+
isStreaming && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react33.Loader2, { className: "absolute -top-1 -right-1 h-3 w-3 text-primary animate-spin" })
|
|
3680
3780
|
] }),
|
|
3681
|
-
/* @__PURE__ */ (0,
|
|
3682
|
-
/* @__PURE__ */ (0,
|
|
3683
|
-
isDone && /* @__PURE__ */ (0,
|
|
3684
|
-
/* @__PURE__ */ (0,
|
|
3781
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-xs text-muted-foreground", children: providerLabel }),
|
|
3782
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-sm text-foreground flex-1", children: actionLabel }),
|
|
3783
|
+
isDone && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "inline-flex items-center gap-1 rounded-full bg-green-500/10 px-2 py-0.5 text-xs text-green-500", children: [
|
|
3784
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react33.Check, { className: "h-3 w-3" }),
|
|
3685
3785
|
"Completed"
|
|
3686
3786
|
] }),
|
|
3687
|
-
isError && /* @__PURE__ */ (0,
|
|
3688
|
-
/* @__PURE__ */ (0,
|
|
3787
|
+
isError && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "inline-flex items-center gap-1 rounded-full bg-destructive/10 px-2 py-0.5 text-xs text-destructive", children: [
|
|
3788
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react33.AlertCircle, { className: "h-3 w-3" }),
|
|
3689
3789
|
"Error"
|
|
3690
3790
|
] }),
|
|
3691
|
-
isStreaming && /* @__PURE__ */ (0,
|
|
3692
|
-
args && (expanded ? /* @__PURE__ */ (0,
|
|
3791
|
+
isStreaming && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary/10 px-2 py-0.5 text-xs text-primary animate-pulse", children: "Calling..." }),
|
|
3792
|
+
args && (expanded ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react33.ChevronDown, { className: "h-3.5 w-3.5 text-muted-foreground" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react33.ChevronRight, { className: "h-3.5 w-3.5 text-muted-foreground" }))
|
|
3693
3793
|
]
|
|
3694
3794
|
}
|
|
3695
3795
|
),
|
|
3696
|
-
expanded && args && /* @__PURE__ */ (0,
|
|
3796
|
+
expanded && args && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "border-t border-border px-3 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("pre", { className: "text-xs text-muted-foreground overflow-x-auto", children: JSON.stringify(args, null, 2) }) })
|
|
3697
3797
|
]
|
|
3698
3798
|
}
|
|
3699
3799
|
);
|
|
@@ -3706,6 +3806,7 @@ function SupyagentToolCall({ part }) {
|
|
|
3706
3806
|
CalendlyFormatter,
|
|
3707
3807
|
CollapsibleResult,
|
|
3708
3808
|
ComputeFormatter,
|
|
3809
|
+
ContextIndicator,
|
|
3709
3810
|
DiscordFormatter,
|
|
3710
3811
|
DocsFormatter,
|
|
3711
3812
|
DriveFileFormatter,
|
|
@@ -3728,6 +3829,7 @@ function SupyagentToolCall({ part }) {
|
|
|
3728
3829
|
SlackMessageFormatter,
|
|
3729
3830
|
SlidesFormatter,
|
|
3730
3831
|
StripeFormatter,
|
|
3832
|
+
SummaryMessage,
|
|
3731
3833
|
SupyagentToolAction,
|
|
3732
3834
|
SupyagentToolCall,
|
|
3733
3835
|
SupyagentToolResult,
|
|
@@ -3746,6 +3848,7 @@ function SupyagentToolCall({ part }) {
|
|
|
3746
3848
|
getProviderLabel,
|
|
3747
3849
|
getSummary,
|
|
3748
3850
|
humanizeToolName,
|
|
3851
|
+
isContextSummary,
|
|
3749
3852
|
maybeNormalize,
|
|
3750
3853
|
normalizeMicrosoftCalendar,
|
|
3751
3854
|
normalizeMicrosoftDrive,
|