@apteva/apteva-kit 0.1.23 → 0.1.25
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/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +24 -22
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +24 -22
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -594,14 +594,16 @@ function parseWidgetsFromText(text) {
|
|
|
594
594
|
}
|
|
595
595
|
try {
|
|
596
596
|
const trimmedJson = jsonContent.trim();
|
|
597
|
-
const
|
|
597
|
+
const parsed = JSON.parse(trimmedJson);
|
|
598
598
|
const widgetId = `widget-${widgetType}-${simpleHash(trimmedJson)}`;
|
|
599
|
+
const { meta, ...props } = parsed;
|
|
599
600
|
segments.push({
|
|
600
601
|
type: "widget",
|
|
601
602
|
widget: {
|
|
602
603
|
type: widgetType,
|
|
603
604
|
id: widgetId,
|
|
604
|
-
props
|
|
605
|
+
props,
|
|
606
|
+
...meta && { meta }
|
|
605
607
|
}
|
|
606
608
|
});
|
|
607
609
|
hasWidgets = true;
|
|
@@ -1275,12 +1277,12 @@ function MarkdownContent({ content, className = "" }) {
|
|
|
1275
1277
|
|
|
1276
1278
|
function ToolCall({ name, status }) {
|
|
1277
1279
|
if (status === "running") {
|
|
1278
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "
|
|
1279
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { className: "
|
|
1280
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { className: "
|
|
1281
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { className: "
|
|
1280
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "apteva-tool-card apteva-tool-card-running", children: [
|
|
1281
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { className: "apteva-tool-icon apteva-tool-icon-spin", fill: "none", viewBox: "0 0 24 24", children: [
|
|
1282
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { className: "apteva-tool-spinner-track", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
|
|
1283
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { className: "apteva-tool-spinner-fill", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z" })
|
|
1282
1284
|
] }),
|
|
1283
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
|
|
1285
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "apteva-tool-label", children: [
|
|
1284
1286
|
"Calling ",
|
|
1285
1287
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: name }),
|
|
1286
1288
|
"..."
|
|
@@ -1288,17 +1290,17 @@ function ToolCall({ name, status }) {
|
|
|
1288
1290
|
] });
|
|
1289
1291
|
}
|
|
1290
1292
|
if (status === "completed") {
|
|
1291
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "
|
|
1292
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "
|
|
1293
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
|
|
1293
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "apteva-tool-card apteva-tool-card-completed", children: [
|
|
1294
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "apteva-tool-icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }),
|
|
1295
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "apteva-tool-label", children: [
|
|
1294
1296
|
"Tool completed: ",
|
|
1295
1297
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: name })
|
|
1296
1298
|
] })
|
|
1297
1299
|
] });
|
|
1298
1300
|
}
|
|
1299
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "
|
|
1300
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "
|
|
1301
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
|
|
1301
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "apteva-tool-card apteva-tool-card-error", children: [
|
|
1302
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "apteva-tool-icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }),
|
|
1303
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "apteva-tool-label", children: [
|
|
1302
1304
|
"Tool failed: ",
|
|
1303
1305
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: name })
|
|
1304
1306
|
] })
|
|
@@ -1363,10 +1365,10 @@ function Message({ message, onAction, enableWidgets, onWidgetRender }) {
|
|
|
1363
1365
|
};
|
|
1364
1366
|
const renderContent = () => {
|
|
1365
1367
|
if (isUser) {
|
|
1366
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "
|
|
1368
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "apteva-message-text", children: message.content });
|
|
1367
1369
|
}
|
|
1368
1370
|
if (isStreaming && !hasContent) {
|
|
1369
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "apteva-typing-indicator
|
|
1371
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "apteva-typing-indicator", children: [
|
|
1370
1372
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", {}),
|
|
1371
1373
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", {}),
|
|
1372
1374
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", {})
|
|
@@ -1394,13 +1396,13 @@ function Message({ message, onAction, enableWidgets, onWidgetRender }) {
|
|
|
1394
1396
|
"div",
|
|
1395
1397
|
{
|
|
1396
1398
|
className: cn(
|
|
1397
|
-
"
|
|
1398
|
-
isUser ? "
|
|
1399
|
+
"apteva-message-bubble",
|
|
1400
|
+
isUser ? "apteva-message-user" : "apteva-message-assistant"
|
|
1399
1401
|
),
|
|
1400
1402
|
children: [
|
|
1401
|
-
renderContent(),
|
|
1402
|
-
message.widgets && message.widgets.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
1403
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: cn("
|
|
1403
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: isUser ? "apteva-message-content-user" : "apteva-message-content-assistant", children: renderContent() }),
|
|
1404
|
+
message.widgets && message.widgets.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "apteva-message-widgets", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Widgets, { widgets: message.widgets, onAction, layout: "stack" }) }),
|
|
1405
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: cn("apteva-message-timestamp", isUser ? "apteva-message-timestamp-user" : "apteva-message-timestamp-assistant"), suppressHydrationWarning: true, children: message.timestamp.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) })
|
|
1404
1406
|
]
|
|
1405
1407
|
}
|
|
1406
1408
|
);
|
|
@@ -1567,7 +1569,7 @@ function MessageList({
|
|
|
1567
1569
|
listRef.current.scrollTop = listRef.current.scrollHeight;
|
|
1568
1570
|
}
|
|
1569
1571
|
}, [messages]);
|
|
1570
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: listRef, className: "
|
|
1572
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: listRef, className: "apteva-message-list apteva-scrollbar-hidden", children: messages.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1571
1573
|
WelcomeScreen,
|
|
1572
1574
|
{
|
|
1573
1575
|
title: welcomeTitle,
|
|
@@ -1578,7 +1580,7 @@ function MessageList({
|
|
|
1578
1580
|
onPromptClick: onPromptClick || (() => {
|
|
1579
1581
|
})
|
|
1580
1582
|
}
|
|
1581
|
-
) : messages.map((message) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
1583
|
+
) : messages.map((message) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: message.role === "user" ? "apteva-message-row-user" : "apteva-message-row-assistant", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Message, { message, onAction, enableWidgets, onWidgetRender }) }, message.id)) });
|
|
1582
1584
|
}
|
|
1583
1585
|
|
|
1584
1586
|
// src/components/Chat/Composer.tsx
|