@superinterface/react 2.16.1 → 2.16.3
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.cjs +350 -167
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +227 -44
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -10,6 +10,47 @@ function _array_with_holes(arr) {
|
|
|
10
10
|
function _array_without_holes(arr) {
|
|
11
11
|
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
12
12
|
}
|
|
13
|
+
function _async_iterator(iterable) {
|
|
14
|
+
var method, async, sync, retry = 2;
|
|
15
|
+
for("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;){
|
|
16
|
+
if (async && null != (method = iterable[async])) return method.call(iterable);
|
|
17
|
+
if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable));
|
|
18
|
+
async = "@@asyncIterator", sync = "@@iterator";
|
|
19
|
+
}
|
|
20
|
+
throw new TypeError("Object is not async iterable");
|
|
21
|
+
}
|
|
22
|
+
function AsyncFromSyncIterator(s) {
|
|
23
|
+
function AsyncFromSyncIteratorContinuation(r) {
|
|
24
|
+
if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object."));
|
|
25
|
+
var done = r.done;
|
|
26
|
+
return Promise.resolve(r.value).then(function(value) {
|
|
27
|
+
return {
|
|
28
|
+
value: value,
|
|
29
|
+
done: done
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return AsyncFromSyncIterator = function(s) {
|
|
34
|
+
this.s = s, this.n = s.next;
|
|
35
|
+
}, AsyncFromSyncIterator.prototype = {
|
|
36
|
+
s: null,
|
|
37
|
+
n: null,
|
|
38
|
+
next: function() {
|
|
39
|
+
return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));
|
|
40
|
+
},
|
|
41
|
+
return: function(value) {
|
|
42
|
+
var ret = this.s.return;
|
|
43
|
+
return void 0 === ret ? Promise.resolve({
|
|
44
|
+
value: value,
|
|
45
|
+
done: !0
|
|
46
|
+
}) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments));
|
|
47
|
+
},
|
|
48
|
+
throw: function(value) {
|
|
49
|
+
var thr = this.s.return;
|
|
50
|
+
return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments));
|
|
51
|
+
}
|
|
52
|
+
}, new AsyncFromSyncIterator(s);
|
|
53
|
+
}
|
|
13
54
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
14
55
|
try {
|
|
15
56
|
var info = gen[key](arg);
|
|
@@ -267,6 +308,20 @@ function _ts_generator(thisArg, body) {
|
|
|
267
308
|
};
|
|
268
309
|
}
|
|
269
310
|
}
|
|
311
|
+
function _ts_values(o) {
|
|
312
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
313
|
+
if (m) return m.call(o);
|
|
314
|
+
if (o && typeof o.length === "number") return {
|
|
315
|
+
next: function() {
|
|
316
|
+
if (o && i >= o.length) o = void 0;
|
|
317
|
+
return {
|
|
318
|
+
value: o && o[i++],
|
|
319
|
+
done: !o
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
324
|
+
}
|
|
270
325
|
var _import_lodash2_default;
|
|
271
326
|
var _this;
|
|
272
327
|
var __create = Object.create;
|
|
@@ -507,7 +562,7 @@ var SuperinterfaceProvider = function(param) {
|
|
|
507
562
|
// src/components/threads/Thread/Messages/index.tsx
|
|
508
563
|
var import_themes31 = require("@radix-ui/themes");
|
|
509
564
|
// src/components/threads/Thread/Messages/Content/index.tsx
|
|
510
|
-
var
|
|
565
|
+
var import_react27 = require("react");
|
|
511
566
|
// src/hooks/messages/useMessages/index.tsx
|
|
512
567
|
var import_react4 = require("react");
|
|
513
568
|
var import_react_query2 = require("@tanstack/react-query");
|
|
@@ -818,7 +873,7 @@ var useToasts = function() {
|
|
|
818
873
|
return (0, import_react9.useContext)(ToastsContext);
|
|
819
874
|
};
|
|
820
875
|
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
821
|
-
var
|
|
876
|
+
var import_react26 = require("react");
|
|
822
877
|
var import_themes28 = require("@radix-ui/themes");
|
|
823
878
|
// src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
|
|
824
879
|
var import_react11 = require("react");
|
|
@@ -880,7 +935,7 @@ var UserAvatar = function() {
|
|
|
880
935
|
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
881
936
|
var import_themes27 = require("@radix-ui/themes");
|
|
882
937
|
// src/components/threads/Thread/Message/index.tsx
|
|
883
|
-
var
|
|
938
|
+
var import_react25 = require("react");
|
|
884
939
|
var import_radash3 = require("radash");
|
|
885
940
|
var import_themes26 = require("@radix-ui/themes");
|
|
886
941
|
// src/components/skeletons/StartingContentSkeleton/index.tsx
|
|
@@ -900,24 +955,26 @@ var StartingContentSkeleton = function() {
|
|
|
900
955
|
};
|
|
901
956
|
// src/components/runSteps/RunSteps/index.tsx
|
|
902
957
|
var import_themes15 = require("@radix-ui/themes");
|
|
903
|
-
var
|
|
958
|
+
var import_react20 = require("react");
|
|
904
959
|
// src/contexts/components/ComponentsContext/index.tsx
|
|
905
|
-
var
|
|
960
|
+
var import_react19 = require("react");
|
|
906
961
|
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
907
962
|
var import_themes14 = require("@radix-ui/themes");
|
|
908
963
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
|
|
909
|
-
var
|
|
964
|
+
var import_react18 = require("react");
|
|
910
965
|
// src/contexts/functions/FunctionComponentsContext/index.tsx
|
|
911
966
|
var import_react15 = require("react");
|
|
912
967
|
var FunctionComponentsContext = (0, import_react15.createContext)({});
|
|
913
968
|
// src/components/functions/FunctionBase/index.tsx
|
|
914
969
|
var import_themes12 = require("@radix-ui/themes");
|
|
915
970
|
// src/components/toolCalls/ToolCallBase/index.tsx
|
|
971
|
+
var import_react16 = require("react");
|
|
916
972
|
var import_themes9 = require("@radix-ui/themes");
|
|
917
973
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
918
|
-
var ToolCallBase = function(param) {
|
|
974
|
+
var ToolCallBase = (0, import_react16.forwardRef)(function ToolCallBase2(param, ref) {
|
|
919
975
|
var children = param.children;
|
|
920
976
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Flex, {
|
|
977
|
+
ref: ref,
|
|
921
978
|
py: "1",
|
|
922
979
|
ml: "-2",
|
|
923
980
|
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Button, {
|
|
@@ -930,7 +987,7 @@ var ToolCallBase = function(param) {
|
|
|
930
987
|
children: children
|
|
931
988
|
})
|
|
932
989
|
});
|
|
933
|
-
};
|
|
990
|
+
});
|
|
934
991
|
// src/components/toolCalls/ToolCallBase/ToolCallTitle.tsx
|
|
935
992
|
var import_themes10 = require("@radix-ui/themes");
|
|
936
993
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
@@ -955,12 +1012,12 @@ var ToolCallIcon = function(param) {
|
|
|
955
1012
|
}
|
|
956
1013
|
};
|
|
957
1014
|
// src/components/functions/FunctionBase/Content.tsx
|
|
958
|
-
var
|
|
1015
|
+
var import_react17 = require("react");
|
|
959
1016
|
var import_themes11 = require("@radix-ui/themes");
|
|
960
1017
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
961
1018
|
var Content = function(param) {
|
|
962
1019
|
var fn = param.fn;
|
|
963
|
-
var args = (0,
|
|
1020
|
+
var args = (0, import_react17.useMemo)(function() {
|
|
964
1021
|
var result = null;
|
|
965
1022
|
try {
|
|
966
1023
|
result = JSON.parse(fn.arguments);
|
|
@@ -971,7 +1028,7 @@ var Content = function(param) {
|
|
|
971
1028
|
}, [
|
|
972
1029
|
fn
|
|
973
1030
|
]);
|
|
974
|
-
var output = (0,
|
|
1031
|
+
var output = (0, import_react17.useMemo)(function() {
|
|
975
1032
|
if (!fn.output) {
|
|
976
1033
|
return null;
|
|
977
1034
|
}
|
|
@@ -1063,7 +1120,7 @@ var import_jsx_runtime16 = // @ts-ignore-next-line
|
|
|
1063
1120
|
require("react/jsx-runtime");
|
|
1064
1121
|
var Fn = function(param) {
|
|
1065
1122
|
var fn = param.fn, runStep = param.runStep;
|
|
1066
|
-
var functionComponentsContext = (0,
|
|
1123
|
+
var functionComponentsContext = (0, import_react18.useContext)(FunctionComponentsContext);
|
|
1067
1124
|
var Component = functionComponentsContext[fn.name] || DefaultFunction;
|
|
1068
1125
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Component, {
|
|
1069
1126
|
fn: fn,
|
|
@@ -1211,7 +1268,7 @@ var RunStep = function(param) {
|
|
|
1211
1268
|
};
|
|
1212
1269
|
RunStep.ToolCalls = ToolCalls;
|
|
1213
1270
|
// src/contexts/components/ComponentsContext/index.tsx
|
|
1214
|
-
var ComponentsContext = (0,
|
|
1271
|
+
var ComponentsContext = (0, import_react19.createContext)({
|
|
1215
1272
|
components: {
|
|
1216
1273
|
RunStep: RunStep
|
|
1217
1274
|
}
|
|
@@ -1220,7 +1277,7 @@ var ComponentsContext = (0, import_react18.createContext)({
|
|
|
1220
1277
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1221
1278
|
var RunSteps = function(param) {
|
|
1222
1279
|
var runSteps = param.runSteps;
|
|
1223
|
-
var componentsContext = (0,
|
|
1280
|
+
var componentsContext = (0, import_react20.useContext)(ComponentsContext);
|
|
1224
1281
|
var Component = componentsContext.components.RunStep;
|
|
1225
1282
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes15.Flex, {
|
|
1226
1283
|
direction: "column-reverse",
|
|
@@ -1232,7 +1289,7 @@ var RunSteps = function(param) {
|
|
|
1232
1289
|
});
|
|
1233
1290
|
};
|
|
1234
1291
|
// src/hooks/messages/useIsMutatingMessage/index.ts
|
|
1235
|
-
var
|
|
1292
|
+
var import_react21 = require("react");
|
|
1236
1293
|
var import_react_query3 = require("@tanstack/react-query");
|
|
1237
1294
|
var useIsMutatingMessage = function() {
|
|
1238
1295
|
var threadContext = useSuperinterfaceContext();
|
|
@@ -1242,7 +1299,7 @@ var useIsMutatingMessage = function() {
|
|
|
1242
1299
|
threadContext.variables
|
|
1243
1300
|
]
|
|
1244
1301
|
});
|
|
1245
|
-
var isMutatingMessage = (0,
|
|
1302
|
+
var isMutatingMessage = (0, import_react21.useMemo)(function() {
|
|
1246
1303
|
return mutatingMessagesCount > 0;
|
|
1247
1304
|
}, [
|
|
1248
1305
|
mutatingMessagesCount
|
|
@@ -1250,8 +1307,8 @@ var useIsMutatingMessage = function() {
|
|
|
1250
1307
|
return isMutatingMessage;
|
|
1251
1308
|
};
|
|
1252
1309
|
// src/contexts/messages/MessageContext/index.ts
|
|
1253
|
-
var
|
|
1254
|
-
var MessageContext = (0,
|
|
1310
|
+
var import_react22 = require("react");
|
|
1311
|
+
var MessageContext = (0, import_react22.createContext)({
|
|
1255
1312
|
message: null
|
|
1256
1313
|
});
|
|
1257
1314
|
// src/components/threads/Thread/Message/Provider.tsx
|
|
@@ -1259,9 +1316,9 @@ var Provider = MessageContext.Provider;
|
|
|
1259
1316
|
// src/components/threads/Thread/Message/TextContent.tsx
|
|
1260
1317
|
var import_react_markdown = __toESM(require("react-markdown"), 1);
|
|
1261
1318
|
// src/hooks/markdown/useMarkdownContext/index.ts
|
|
1262
|
-
var
|
|
1319
|
+
var import_react24 = require("react");
|
|
1263
1320
|
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1264
|
-
var
|
|
1321
|
+
var import_react23 = require("react");
|
|
1265
1322
|
// src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
|
|
1266
1323
|
var import_themes16 = require("@radix-ui/themes");
|
|
1267
1324
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
@@ -1391,12 +1448,12 @@ var components = {
|
|
|
1391
1448
|
img: Img
|
|
1392
1449
|
};
|
|
1393
1450
|
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1394
|
-
var MarkdownContext = (0,
|
|
1451
|
+
var MarkdownContext = (0, import_react23.createContext)({
|
|
1395
1452
|
components: components
|
|
1396
1453
|
});
|
|
1397
1454
|
// src/hooks/markdown/useMarkdownContext/index.ts
|
|
1398
1455
|
var useMarkdownContext = function() {
|
|
1399
|
-
return (0,
|
|
1456
|
+
return (0, import_react24.useContext)(MarkdownContext);
|
|
1400
1457
|
};
|
|
1401
1458
|
// src/components/threads/Thread/Message/TextContent.tsx
|
|
1402
1459
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
@@ -1434,7 +1491,7 @@ var Attachments = function(param) {
|
|
|
1434
1491
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1435
1492
|
var Message = function(param) {
|
|
1436
1493
|
var message = param.message;
|
|
1437
|
-
var _ref = _sliced_to_array((0,
|
|
1494
|
+
var _ref = _sliced_to_array((0, import_react25.useMemo)(function() {
|
|
1438
1495
|
if (!message.runSteps.length) return [
|
|
1439
1496
|
[],
|
|
1440
1497
|
[]
|
|
@@ -1467,7 +1524,7 @@ var Message = function(param) {
|
|
|
1467
1524
|
message
|
|
1468
1525
|
]), 2), olderRunSteps = _ref[0], laterRunSteps = _ref[1];
|
|
1469
1526
|
var isMutatingMessage = useIsMutatingMessage();
|
|
1470
|
-
var isInProgress = (0,
|
|
1527
|
+
var isInProgress = (0, import_react25.useMemo)(function() {
|
|
1471
1528
|
if (!isMutatingMessage) return false;
|
|
1472
1529
|
if (message.status === "in_progress") return true;
|
|
1473
1530
|
return message.runSteps.some(function(rs) {
|
|
@@ -1491,7 +1548,7 @@ var Message = function(param) {
|
|
|
1491
1548
|
message: message
|
|
1492
1549
|
}),
|
|
1493
1550
|
message.content.map(function(content, index) {
|
|
1494
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react25.Fragment, {
|
|
1495
1552
|
children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(TextContent, {
|
|
1496
1553
|
content: content
|
|
1497
1554
|
})
|
|
@@ -1527,7 +1584,7 @@ var Content2 = function(param) {
|
|
|
1527
1584
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1528
1585
|
var MessageGroup = function(param) {
|
|
1529
1586
|
var messageGroup = param.messageGroup;
|
|
1530
|
-
var assistantNameContext = (0,
|
|
1587
|
+
var assistantNameContext = (0, import_react26.useContext)(AssistantNameContext);
|
|
1531
1588
|
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(MessageGroupBase, {
|
|
1532
1589
|
children: [
|
|
1533
1590
|
messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(UserAvatar, {}) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AssistantAvatar, {}),
|
|
@@ -1553,7 +1610,7 @@ var Content3 = function() {
|
|
|
1553
1610
|
var _useMessageGroups = useMessageGroups({
|
|
1554
1611
|
messages: messages2
|
|
1555
1612
|
}), messageGroups2 = _useMessageGroups.messageGroups;
|
|
1556
|
-
(0,
|
|
1613
|
+
(0, import_react27.useEffect)(function() {
|
|
1557
1614
|
if (isLoadingError) {
|
|
1558
1615
|
addToast({
|
|
1559
1616
|
type: "error",
|
|
@@ -1576,14 +1633,14 @@ var Content3 = function() {
|
|
|
1576
1633
|
});
|
|
1577
1634
|
};
|
|
1578
1635
|
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1579
|
-
var
|
|
1636
|
+
var import_react30 = require("react");
|
|
1580
1637
|
// src/components/skeletons/StartingSkeleton/index.tsx
|
|
1581
|
-
var
|
|
1638
|
+
var import_react28 = require("react");
|
|
1582
1639
|
var import_themes29 = require("@radix-ui/themes");
|
|
1583
1640
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1584
1641
|
var StartingSkeleton = function(param) {
|
|
1585
1642
|
var children = param.children;
|
|
1586
|
-
var assistantNameContext = (0,
|
|
1643
|
+
var assistantNameContext = (0, import_react28.useContext)(AssistantNameContext);
|
|
1587
1644
|
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(MessageGroupBase, {
|
|
1588
1645
|
children: [
|
|
1589
1646
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(AssistantAvatar, {}),
|
|
@@ -1600,10 +1657,10 @@ var StartingSkeleton = function(param) {
|
|
|
1600
1657
|
});
|
|
1601
1658
|
};
|
|
1602
1659
|
// src/hooks/messages/useLatestMessage/index.ts
|
|
1603
|
-
var
|
|
1660
|
+
var import_react29 = require("react");
|
|
1604
1661
|
var useLatestMessage = function() {
|
|
1605
1662
|
var props = useMessages();
|
|
1606
|
-
return (0,
|
|
1663
|
+
return (0, import_react29.useMemo)(function() {
|
|
1607
1664
|
return _object_spread_props(_object_spread({}, props), {
|
|
1608
1665
|
latestMessage: props.messages[0] || null
|
|
1609
1666
|
});
|
|
@@ -1622,7 +1679,7 @@ var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
|
1622
1679
|
var Progress = function() {
|
|
1623
1680
|
var latestMessage = useLatestMessage().latestMessage;
|
|
1624
1681
|
var isMutatingMessage = useIsMutatingMessage();
|
|
1625
|
-
var isVisible = (0,
|
|
1682
|
+
var isVisible = (0, import_react30.useMemo)(function() {
|
|
1626
1683
|
if (!latestMessage) return false;
|
|
1627
1684
|
if (latestMessage.role !== "user") return false;
|
|
1628
1685
|
if (latestMessage.status === "in_progress") return false;
|
|
@@ -1641,15 +1698,15 @@ var Progress = function() {
|
|
|
1641
1698
|
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
1642
1699
|
var import_themes30 = require("@radix-ui/themes");
|
|
1643
1700
|
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1644
|
-
var
|
|
1701
|
+
var import_react32 = require("react");
|
|
1645
1702
|
var import_react_intersection_observer = require("react-intersection-observer");
|
|
1646
1703
|
// src/hooks/misc/useThrottledEffect/index.tsx
|
|
1647
1704
|
var import_lodash5 = __toESM(require("lodash"), 1);
|
|
1648
|
-
var
|
|
1705
|
+
var import_react31 = require("react");
|
|
1649
1706
|
var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
1650
1707
|
var _cbRef;
|
|
1651
|
-
var cbRef = (0,
|
|
1652
|
-
var throttledCb = (0,
|
|
1708
|
+
var cbRef = (0, import_react31.useRef)(cb);
|
|
1709
|
+
var throttledCb = (0, import_react31.useCallback)(import_lodash5.default.throttle(function() {
|
|
1653
1710
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1654
1711
|
args[_key] = arguments[_key];
|
|
1655
1712
|
}
|
|
@@ -1660,17 +1717,17 @@ var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
|
1660
1717
|
}), [
|
|
1661
1718
|
delay
|
|
1662
1719
|
]);
|
|
1663
|
-
(0,
|
|
1720
|
+
(0, import_react31.useEffect)(function() {
|
|
1664
1721
|
cbRef.current = cb;
|
|
1665
1722
|
});
|
|
1666
|
-
(0,
|
|
1723
|
+
(0, import_react31.useEffect)(throttledCb, [
|
|
1667
1724
|
throttledCb
|
|
1668
1725
|
].concat(_to_consumable_array(additionalDeps)));
|
|
1669
1726
|
};
|
|
1670
1727
|
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1671
1728
|
var useInfiniteScroll = function(param) {
|
|
1672
1729
|
var isFetchingNextPage = param.isFetchingNextPage, hasNextPage = param.hasNextPage, fetchNextPage = param.fetchNextPage;
|
|
1673
|
-
var containerRef = (0,
|
|
1730
|
+
var containerRef = (0, import_react32.useRef)(null);
|
|
1674
1731
|
var _ref = (0, import_react_intersection_observer.useInView)({
|
|
1675
1732
|
root: containerRef.current,
|
|
1676
1733
|
rootMargin: "0px",
|
|
@@ -1761,10 +1818,10 @@ Messages.NextPageSkeleton = NextPageSkeleton;
|
|
|
1761
1818
|
var import_react_icons6 = require("@radix-ui/react-icons");
|
|
1762
1819
|
var import_themes32 = require("@radix-ui/themes");
|
|
1763
1820
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
1764
|
-
var
|
|
1821
|
+
var import_react34 = require("react");
|
|
1765
1822
|
// src/contexts/messages/MessageFormContext/index.ts
|
|
1766
|
-
var
|
|
1767
|
-
var MessageFormContext = (0,
|
|
1823
|
+
var import_react33 = require("react");
|
|
1824
|
+
var MessageFormContext = (0, import_react33.createContext)({
|
|
1768
1825
|
isDisabled: false,
|
|
1769
1826
|
isLoading: false,
|
|
1770
1827
|
files: [],
|
|
@@ -1773,7 +1830,7 @@ var MessageFormContext = (0, import_react32.createContext)({
|
|
|
1773
1830
|
});
|
|
1774
1831
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
1775
1832
|
var useMessageFormContext = function() {
|
|
1776
|
-
return (0,
|
|
1833
|
+
return (0, import_react34.useContext)(MessageFormContext);
|
|
1777
1834
|
};
|
|
1778
1835
|
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
1779
1836
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
@@ -1813,7 +1870,7 @@ Submit.Root = Root3;
|
|
|
1813
1870
|
Submit.Button = Button2;
|
|
1814
1871
|
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
1815
1872
|
var import_react_query5 = require("@tanstack/react-query");
|
|
1816
|
-
var
|
|
1873
|
+
var import_react35 = require("react");
|
|
1817
1874
|
var import_react_hook_form = require("react-hook-form");
|
|
1818
1875
|
var import_themes33 = require("@radix-ui/themes");
|
|
1819
1876
|
// src/hooks/messages/useCreateMessage/index.ts
|
|
@@ -2441,7 +2498,7 @@ var import_radash12 = require("radash");
|
|
|
2441
2498
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2442
2499
|
var Root4 = function(param) {
|
|
2443
2500
|
var children = param.children, onSubmitArg = param.onSubmit;
|
|
2444
|
-
var _ref = _sliced_to_array((0,
|
|
2501
|
+
var _ref = _sliced_to_array((0, import_react35.useState)([]), 2), files = _ref[0], setFiles = _ref[1];
|
|
2445
2502
|
var formProps = (0, import_react_hook_form.useForm)(formOptions);
|
|
2446
2503
|
var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
|
|
2447
2504
|
var addToast = useToasts().addToast;
|
|
@@ -2471,7 +2528,7 @@ var Root4 = function(param) {
|
|
|
2471
2528
|
}
|
|
2472
2529
|
}).createMessage;
|
|
2473
2530
|
var isMutatingMessage = useIsMutatingMessage();
|
|
2474
|
-
var isFileLoading = (0,
|
|
2531
|
+
var isFileLoading = (0, import_react35.useMemo)(function() {
|
|
2475
2532
|
return files.some(function(file) {
|
|
2476
2533
|
return isOptimistic({
|
|
2477
2534
|
id: file.id
|
|
@@ -2480,14 +2537,14 @@ var Root4 = function(param) {
|
|
|
2480
2537
|
}, [
|
|
2481
2538
|
files
|
|
2482
2539
|
]);
|
|
2483
|
-
var isLoading = (0,
|
|
2540
|
+
var isLoading = (0, import_react35.useMemo)(function() {
|
|
2484
2541
|
return isMutatingMessage || isSubmitting;
|
|
2485
2542
|
}, [
|
|
2486
2543
|
isMutatingMessage,
|
|
2487
2544
|
isSubmitting
|
|
2488
2545
|
]);
|
|
2489
2546
|
var latestMessage = useLatestMessage().latestMessage;
|
|
2490
|
-
var isDisabled = (0,
|
|
2547
|
+
var isDisabled = (0, import_react35.useMemo)(function() {
|
|
2491
2548
|
var // @ts-ignore-next-line
|
|
2492
2549
|
_latestMessage_metadata;
|
|
2493
2550
|
return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
|
|
@@ -2574,12 +2631,12 @@ var import_themes37 = require("@radix-ui/themes");
|
|
|
2574
2631
|
var import_themes34 = require("@radix-ui/themes");
|
|
2575
2632
|
var import_react_hook_form2 = require("react-hook-form");
|
|
2576
2633
|
var import_react_use = require("react-use");
|
|
2577
|
-
var
|
|
2634
|
+
var import_react37 = require("react");
|
|
2578
2635
|
// src/components/textareas/TextareaBase/index.tsx
|
|
2579
|
-
var
|
|
2636
|
+
var import_react36 = require("react");
|
|
2580
2637
|
var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
|
|
2581
2638
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2582
|
-
var TextareaBase = (0,
|
|
2639
|
+
var TextareaBase = (0, import_react36.forwardRef)(function TextareaBase2(props, ref) {
|
|
2583
2640
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, {
|
|
2584
2641
|
children: [
|
|
2585
2642
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("style", {
|
|
@@ -2612,19 +2669,19 @@ var Root5 = function(param) {
|
|
|
2612
2669
|
});
|
|
2613
2670
|
};
|
|
2614
2671
|
var Input = function() {
|
|
2615
|
-
var assistantNameContext = (0,
|
|
2672
|
+
var assistantNameContext = (0, import_react37.useContext)(AssistantNameContext);
|
|
2616
2673
|
var register = (0, import_react_hook_form2.useFormContext)().register;
|
|
2617
2674
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2618
|
-
var isSubmitDisabled = (0,
|
|
2675
|
+
var isSubmitDisabled = (0, import_react37.useMemo)(function() {
|
|
2619
2676
|
return isDisabled || isLoading;
|
|
2620
2677
|
}, [
|
|
2621
2678
|
isDisabled,
|
|
2622
2679
|
isLoading
|
|
2623
2680
|
]);
|
|
2624
2681
|
var isDisabledPrevious = (0, import_react_use.usePrevious)(isDisabled);
|
|
2625
|
-
var textareaRef = (0,
|
|
2682
|
+
var textareaRef = (0, import_react37.useRef)(null);
|
|
2626
2683
|
var textareaProps = register("content");
|
|
2627
|
-
(0,
|
|
2684
|
+
(0, import_react37.useEffect)(function() {
|
|
2628
2685
|
if (isDisabled) return;
|
|
2629
2686
|
if (!isDisabledPrevious) return;
|
|
2630
2687
|
if (!textareaRef.current) return;
|
|
@@ -2729,7 +2786,8 @@ var Preview = function() {
|
|
|
2729
2786
|
});
|
|
2730
2787
|
};
|
|
2731
2788
|
// src/components/threads/Thread/MessageForm/Field/Files/Control.tsx
|
|
2732
|
-
var
|
|
2789
|
+
var import_react38 = require("react");
|
|
2790
|
+
var import_radash13 = require("radash");
|
|
2733
2791
|
var import_dayjs2 = __toESM(require("dayjs"), 1);
|
|
2734
2792
|
var import_react_icons8 = require("@radix-ui/react-icons");
|
|
2735
2793
|
var import_themes36 = require("@radix-ui/themes");
|
|
@@ -2849,50 +2907,174 @@ var Control2 = function() {
|
|
|
2849
2907
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading, setFiles = _useMessageFormContext.setFiles;
|
|
2850
2908
|
var createFile = useCreateFile().createFile;
|
|
2851
2909
|
var addToast = useToasts().addToast;
|
|
2852
|
-
var onChange = (0,
|
|
2853
|
-
var
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2910
|
+
var onChange = (0, import_react38.useCallback)(function() {
|
|
2911
|
+
var _ref = _async_to_generator(function(event) {
|
|
2912
|
+
var fileObjects, newFiles, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, err;
|
|
2913
|
+
return _ts_generator(this, function(_state) {
|
|
2914
|
+
switch(_state.label){
|
|
2915
|
+
case 0:
|
|
2916
|
+
fileObjects = event.target.files;
|
|
2917
|
+
if (!fileObjects) return [
|
|
2918
|
+
2
|
|
2919
|
+
];
|
|
2920
|
+
newFiles = Array.from(fileObjects).map(function(fileObject) {
|
|
2921
|
+
return {
|
|
2922
|
+
id: optimisticId(),
|
|
2923
|
+
filename: fileObject.name,
|
|
2924
|
+
object: "file",
|
|
2925
|
+
purpose: "assistants",
|
|
2926
|
+
created_at: (0, import_dayjs2.default)().unix(),
|
|
2927
|
+
bytes: fileObject.size,
|
|
2928
|
+
status: "processed",
|
|
2929
|
+
fileObject: fileObject
|
|
2930
|
+
};
|
|
2931
|
+
});
|
|
2932
|
+
setFiles(function(prev) {
|
|
2933
|
+
return _to_consumable_array(prev).concat(_to_consumable_array(newFiles.map(function(file) {
|
|
2934
|
+
return (0, import_radash13.omit)(file, [
|
|
2935
|
+
"fileObject"
|
|
2936
|
+
]);
|
|
2937
|
+
})));
|
|
2878
2938
|
});
|
|
2879
|
-
|
|
2939
|
+
_iteratorAbruptCompletion = false, _didIteratorError = false;
|
|
2940
|
+
_state.label = 1;
|
|
2941
|
+
case 1:
|
|
2942
|
+
_state.trys.push([
|
|
2943
|
+
1,
|
|
2944
|
+
7,
|
|
2945
|
+
8,
|
|
2946
|
+
13
|
|
2947
|
+
]);
|
|
2948
|
+
_loop = function() {
|
|
2949
|
+
var _value, newFile;
|
|
2950
|
+
return _ts_generator(this, function(_state) {
|
|
2951
|
+
switch(_state.label){
|
|
2952
|
+
case 0:
|
|
2953
|
+
_value = _step.value;
|
|
2954
|
+
newFile = _value;
|
|
2955
|
+
return [
|
|
2956
|
+
4,
|
|
2957
|
+
createFile({
|
|
2958
|
+
file: newFile.fileObject
|
|
2959
|
+
}, {
|
|
2960
|
+
onSuccess: function(param) {
|
|
2961
|
+
var file = param.file;
|
|
2962
|
+
return setFiles(function(prev) {
|
|
2963
|
+
return _to_consumable_array(prev.filter(function(prevFile) {
|
|
2964
|
+
return prevFile.id !== newFile.id;
|
|
2965
|
+
})).concat([
|
|
2966
|
+
file
|
|
2967
|
+
]);
|
|
2968
|
+
});
|
|
2969
|
+
},
|
|
2970
|
+
onError: function() {
|
|
2971
|
+
addToast({
|
|
2972
|
+
type: "error",
|
|
2973
|
+
message: "Could not upload file. Please try again."
|
|
2974
|
+
});
|
|
2975
|
+
setFiles(function(prev) {
|
|
2976
|
+
return prev.filter(function(prevFile) {
|
|
2977
|
+
return prevFile.id !== newFile.id;
|
|
2978
|
+
});
|
|
2979
|
+
});
|
|
2980
|
+
}
|
|
2981
|
+
})
|
|
2982
|
+
];
|
|
2983
|
+
case 1:
|
|
2984
|
+
_state.sent();
|
|
2985
|
+
return [
|
|
2986
|
+
2
|
|
2987
|
+
];
|
|
2988
|
+
}
|
|
2989
|
+
});
|
|
2990
|
+
};
|
|
2991
|
+
_iterator = _async_iterator(newFiles);
|
|
2992
|
+
_state.label = 2;
|
|
2993
|
+
case 2:
|
|
2994
|
+
return [
|
|
2995
|
+
4,
|
|
2996
|
+
_iterator.next()
|
|
2997
|
+
];
|
|
2998
|
+
case 3:
|
|
2999
|
+
if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
|
|
3000
|
+
3,
|
|
3001
|
+
6
|
|
3002
|
+
];
|
|
3003
|
+
return [
|
|
3004
|
+
5,
|
|
3005
|
+
_ts_values(_loop())
|
|
3006
|
+
];
|
|
3007
|
+
case 4:
|
|
3008
|
+
_state.sent();
|
|
3009
|
+
_state.label = 5;
|
|
3010
|
+
case 5:
|
|
3011
|
+
_iteratorAbruptCompletion = false;
|
|
3012
|
+
return [
|
|
3013
|
+
3,
|
|
3014
|
+
2
|
|
3015
|
+
];
|
|
3016
|
+
case 6:
|
|
3017
|
+
return [
|
|
3018
|
+
3,
|
|
3019
|
+
13
|
|
3020
|
+
];
|
|
3021
|
+
case 7:
|
|
3022
|
+
err = _state.sent();
|
|
3023
|
+
_didIteratorError = true;
|
|
3024
|
+
_iteratorError = err;
|
|
3025
|
+
return [
|
|
3026
|
+
3,
|
|
3027
|
+
13
|
|
3028
|
+
];
|
|
3029
|
+
case 8:
|
|
3030
|
+
_state.trys.push([
|
|
3031
|
+
8,
|
|
3032
|
+
,
|
|
3033
|
+
11,
|
|
3034
|
+
12
|
|
3035
|
+
]);
|
|
3036
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
|
|
3037
|
+
3,
|
|
3038
|
+
10
|
|
3039
|
+
];
|
|
3040
|
+
return [
|
|
3041
|
+
4,
|
|
3042
|
+
_iterator.return()
|
|
3043
|
+
];
|
|
3044
|
+
case 9:
|
|
3045
|
+
_state.sent();
|
|
3046
|
+
_state.label = 10;
|
|
3047
|
+
case 10:
|
|
3048
|
+
return [
|
|
3049
|
+
3,
|
|
3050
|
+
12
|
|
3051
|
+
];
|
|
3052
|
+
case 11:
|
|
3053
|
+
if (_didIteratorError) {
|
|
3054
|
+
throw _iteratorError;
|
|
3055
|
+
}
|
|
3056
|
+
return [
|
|
3057
|
+
7
|
|
3058
|
+
];
|
|
3059
|
+
case 12:
|
|
3060
|
+
return [
|
|
3061
|
+
7
|
|
3062
|
+
];
|
|
3063
|
+
case 13:
|
|
3064
|
+
return [
|
|
3065
|
+
2
|
|
3066
|
+
];
|
|
2880
3067
|
}
|
|
2881
3068
|
});
|
|
2882
|
-
return {
|
|
2883
|
-
id: id,
|
|
2884
|
-
filename: file.name,
|
|
2885
|
-
object: "file",
|
|
2886
|
-
purpose: "assistants",
|
|
2887
|
-
created_at: (0, import_dayjs2.default)().unix(),
|
|
2888
|
-
bytes: file.size,
|
|
2889
|
-
status: "processed"
|
|
2890
|
-
};
|
|
2891
|
-
});
|
|
2892
|
-
setFiles(function(prev) {
|
|
2893
|
-
return _to_consumable_array(prev).concat(_to_consumable_array(newFiles));
|
|
2894
3069
|
});
|
|
2895
|
-
|
|
3070
|
+
return function(event) {
|
|
3071
|
+
return _ref.apply(this, arguments);
|
|
3072
|
+
};
|
|
3073
|
+
}(), [
|
|
3074
|
+
addToast,
|
|
3075
|
+
createFile,
|
|
3076
|
+
setFiles
|
|
3077
|
+
]);
|
|
2896
3078
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes36.Flex, {
|
|
2897
3079
|
pt: "2",
|
|
2898
3080
|
pr: "2",
|
|
@@ -2910,6 +3092,7 @@ var Control2 = function() {
|
|
|
2910
3092
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons8.FilePlusIcon, {}),
|
|
2911
3093
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("input", {
|
|
2912
3094
|
type: "file",
|
|
3095
|
+
multiple: true,
|
|
2913
3096
|
accept: accept,
|
|
2914
3097
|
onChange: onChange,
|
|
2915
3098
|
style: {
|
|
@@ -3015,29 +3198,29 @@ Thread.Root = Root7;
|
|
|
3015
3198
|
Thread.Messages = Messages;
|
|
3016
3199
|
Thread.MessageForm = MessageForm;
|
|
3017
3200
|
// src/hooks/messages/useMessageContext/index.ts
|
|
3018
|
-
var
|
|
3201
|
+
var import_react39 = require("react");
|
|
3019
3202
|
var useMessageContext = function() {
|
|
3020
|
-
return (0,
|
|
3203
|
+
return (0, import_react39.useContext)(MessageContext);
|
|
3021
3204
|
};
|
|
3022
3205
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
3023
|
-
var
|
|
3206
|
+
var import_react42 = require("react");
|
|
3024
3207
|
// src/contexts/threads/ThreadDialogContext/index.ts
|
|
3025
|
-
var
|
|
3026
|
-
var ThreadDialogContext = (0,
|
|
3208
|
+
var import_react40 = require("react");
|
|
3209
|
+
var ThreadDialogContext = (0, import_react40.createContext)({
|
|
3027
3210
|
isOpen: false,
|
|
3028
3211
|
setIsOpen: function() {}
|
|
3029
3212
|
});
|
|
3030
3213
|
// src/hooks/threads/useThreadDialogContext/index.ts
|
|
3031
|
-
var
|
|
3214
|
+
var import_react41 = require("react");
|
|
3032
3215
|
var useThreadDialogContext = function() {
|
|
3033
|
-
return (0,
|
|
3216
|
+
return (0, import_react41.useContext)(ThreadDialogContext);
|
|
3034
3217
|
};
|
|
3035
3218
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
3036
3219
|
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3037
3220
|
var Provider3 = function(param) {
|
|
3038
3221
|
var children = param.children;
|
|
3039
3222
|
var threadDialogContext = useThreadDialogContext();
|
|
3040
|
-
var _ref = _sliced_to_array((0,
|
|
3223
|
+
var _ref = _sliced_to_array((0, import_react42.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
|
|
3041
3224
|
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ThreadDialogContext.Provider, {
|
|
3042
3225
|
value: {
|
|
3043
3226
|
isOpen: isOpen,
|
|
@@ -3047,7 +3230,7 @@ var Provider3 = function(param) {
|
|
|
3047
3230
|
});
|
|
3048
3231
|
};
|
|
3049
3232
|
// src/components/toasts/ToastsProvider/index.tsx
|
|
3050
|
-
var
|
|
3233
|
+
var import_react43 = require("react");
|
|
3051
3234
|
var Toast2 = __toESM(require("@radix-ui/react-toast"), 1);
|
|
3052
3235
|
// src/components/toasts/ToastsProvider/CustomToast.tsx
|
|
3053
3236
|
var Toast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
@@ -3086,8 +3269,8 @@ var CustomToast = function(param) {
|
|
|
3086
3269
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3087
3270
|
var ToastsProvider = function(param) {
|
|
3088
3271
|
var children = param.children;
|
|
3089
|
-
var _ref = _sliced_to_array((0,
|
|
3090
|
-
var addToast = (0,
|
|
3272
|
+
var _ref = _sliced_to_array((0, import_react43.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
|
|
3273
|
+
var addToast = (0, import_react43.useCallback)(function(toast) {
|
|
3091
3274
|
return setToasts(function(prevToasts) {
|
|
3092
3275
|
return _to_consumable_array(prevToasts).concat([
|
|
3093
3276
|
toast
|
|
@@ -3335,8 +3518,8 @@ ThreadDialog.Content = Content4;
|
|
|
3335
3518
|
var import_runtime = require("regenerator-runtime/runtime");
|
|
3336
3519
|
var import_themes44 = require("@radix-ui/themes");
|
|
3337
3520
|
// src/contexts/threads/AudioThreadContext/index.ts
|
|
3338
|
-
var
|
|
3339
|
-
var AudioThreadContext = (0,
|
|
3521
|
+
var import_react44 = require("react");
|
|
3522
|
+
var AudioThreadContext = (0, import_react44.createContext)({
|
|
3340
3523
|
status: "idle",
|
|
3341
3524
|
recorderProps: {
|
|
3342
3525
|
status: "idle",
|
|
@@ -3404,11 +3587,11 @@ var blobToData = function(blob) {
|
|
|
3404
3587
|
});
|
|
3405
3588
|
};
|
|
3406
3589
|
// src/hooks/audioThreads/useStatus/index.ts
|
|
3407
|
-
var
|
|
3590
|
+
var import_react45 = require("react");
|
|
3408
3591
|
var useStatus = function(param) {
|
|
3409
3592
|
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
|
|
3410
3593
|
var latestMessageProps = useLatestMessage();
|
|
3411
|
-
var status = (0,
|
|
3594
|
+
var status = (0, import_react45.useMemo)(function() {
|
|
3412
3595
|
var _latestMessageProps_latestMessage;
|
|
3413
3596
|
if (recorderProps.status === "recording") return "recording";
|
|
3414
3597
|
if (createMessageProps.isPending) return "creatingMessage";
|
|
@@ -3432,19 +3615,19 @@ var useStatus = function(param) {
|
|
|
3432
3615
|
// src/hooks/audioThreads/useRecorder/index.ts
|
|
3433
3616
|
var import_dayjs3 = __toESM(require("dayjs"), 1);
|
|
3434
3617
|
var import_use_audio_capture = require("use-audio-capture");
|
|
3435
|
-
var
|
|
3618
|
+
var import_react46 = require("react");
|
|
3436
3619
|
var import_react_use_audio_player = require("react-use-audio-player");
|
|
3437
3620
|
var import_react_use2 = require("react-use");
|
|
3438
3621
|
var useRecorder = function(param) {
|
|
3439
3622
|
var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
|
|
3440
|
-
var _ref = _sliced_to_array((0,
|
|
3441
|
-
var _ref1 = _sliced_to_array((0,
|
|
3442
|
-
var _ref2 = _sliced_to_array((0,
|
|
3443
|
-
var _ref3 = _sliced_to_array((0,
|
|
3623
|
+
var _ref = _sliced_to_array((0, import_react46.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
|
|
3624
|
+
var _ref1 = _sliced_to_array((0, import_react46.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
|
|
3625
|
+
var _ref2 = _sliced_to_array((0, import_react46.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
|
|
3626
|
+
var _ref3 = _sliced_to_array((0, import_react46.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
|
|
3444
3627
|
var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
3445
3628
|
var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
3446
|
-
var _ref4 = _sliced_to_array((0,
|
|
3447
|
-
(0,
|
|
3629
|
+
var _ref4 = _sliced_to_array((0, import_react46.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
|
|
3630
|
+
(0, import_react46.useEffect)(function() {
|
|
3448
3631
|
if (isLoaded) return;
|
|
3449
3632
|
setIsLoaded(true);
|
|
3450
3633
|
}, [
|
|
@@ -3502,9 +3685,9 @@ var useRecorder = function(param) {
|
|
|
3502
3685
|
setNoiseStart(null);
|
|
3503
3686
|
}
|
|
3504
3687
|
});
|
|
3505
|
-
var _ref5 = _sliced_to_array((0,
|
|
3506
|
-
var isInited = (0,
|
|
3507
|
-
(0,
|
|
3688
|
+
var _ref5 = _sliced_to_array((0, import_react46.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
|
|
3689
|
+
var isInited = (0, import_react46.useRef)(false);
|
|
3690
|
+
(0, import_react46.useEffect)(function() {
|
|
3508
3691
|
if (!mediaStream) return;
|
|
3509
3692
|
if (isInited.current) return;
|
|
3510
3693
|
isInited.current = true;
|
|
@@ -3517,7 +3700,7 @@ var useRecorder = function(param) {
|
|
|
3517
3700
|
isInited,
|
|
3518
3701
|
mediaStream
|
|
3519
3702
|
]);
|
|
3520
|
-
var visualizationAnalyser = (0,
|
|
3703
|
+
var visualizationAnalyser = (0, import_react46.useMemo)(function() {
|
|
3521
3704
|
if (!audioEngine) return null;
|
|
3522
3705
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3523
3706
|
audioEngine.source.connect(result);
|
|
@@ -3525,7 +3708,7 @@ var useRecorder = function(param) {
|
|
|
3525
3708
|
}, [
|
|
3526
3709
|
audioEngine
|
|
3527
3710
|
]);
|
|
3528
|
-
var silenceAnalyser = (0,
|
|
3711
|
+
var silenceAnalyser = (0, import_react46.useMemo)(function() {
|
|
3529
3712
|
if (!audioEngine) return null;
|
|
3530
3713
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3531
3714
|
result.minDecibels = -60;
|
|
@@ -3534,7 +3717,7 @@ var useRecorder = function(param) {
|
|
|
3534
3717
|
}, [
|
|
3535
3718
|
audioEngine
|
|
3536
3719
|
]);
|
|
3537
|
-
var handleSilence = (0,
|
|
3720
|
+
var handleSilence = (0, import_react46.useCallback)(function() {
|
|
3538
3721
|
if (!silenceAnalyser) return;
|
|
3539
3722
|
var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
|
|
3540
3723
|
silenceAnalyser.getByteFrequencyData(frequencyData);
|
|
@@ -3557,7 +3740,7 @@ var useRecorder = function(param) {
|
|
|
3557
3740
|
setNoiseStart,
|
|
3558
3741
|
setSilenceStart
|
|
3559
3742
|
]);
|
|
3560
|
-
(0,
|
|
3743
|
+
(0, import_react46.useEffect)(function() {
|
|
3561
3744
|
if (!isStopOnSilence) return;
|
|
3562
3745
|
requestAnimationFrame(function() {
|
|
3563
3746
|
return handleSilence();
|
|
@@ -3580,12 +3763,12 @@ var useRecorder = function(param) {
|
|
|
3580
3763
|
});
|
|
3581
3764
|
};
|
|
3582
3765
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
3583
|
-
var
|
|
3766
|
+
var import_react47 = require("react");
|
|
3584
3767
|
var import_compromise = __toESM(require("compromise"), 1);
|
|
3585
3768
|
var import_howler = require("howler");
|
|
3586
3769
|
var import_react_use_audio_player2 = require("react-use-audio-player");
|
|
3587
3770
|
// src/hooks/audioThreads/useMessageAudio/lib/input.ts
|
|
3588
|
-
var
|
|
3771
|
+
var import_radash14 = require("radash");
|
|
3589
3772
|
var input = function(param) {
|
|
3590
3773
|
var message = param.message;
|
|
3591
3774
|
var textContents = message.content.filter(function(c) {
|
|
@@ -3594,7 +3777,7 @@ var input = function(param) {
|
|
|
3594
3777
|
var result = textContents.map(function(c) {
|
|
3595
3778
|
return c.text.value;
|
|
3596
3779
|
}).join(" ");
|
|
3597
|
-
if ((0,
|
|
3780
|
+
if ((0, import_radash14.isEmpty)(result)) return null;
|
|
3598
3781
|
return result;
|
|
3599
3782
|
};
|
|
3600
3783
|
// src/hooks/audioThreads/useMessageAudio/lib/isHtmlAudioSupported.ts
|
|
@@ -3618,15 +3801,15 @@ var getMessageSentences = function(param) {
|
|
|
3618
3801
|
};
|
|
3619
3802
|
var useMessageAudio = function(param) {
|
|
3620
3803
|
var onEnd = param.onEnd;
|
|
3621
|
-
var _ref = _sliced_to_array((0,
|
|
3622
|
-
var _ref1 = _sliced_to_array((0,
|
|
3623
|
-
var _ref2 = _sliced_to_array((0,
|
|
3804
|
+
var _ref = _sliced_to_array((0, import_react47.useState)(false), 2), isAudioPlayed = _ref[0], setIsAudioPlayed = _ref[1];
|
|
3805
|
+
var _ref1 = _sliced_to_array((0, import_react47.useState)([]), 2), stoppedMessageIds = _ref1[0], setStoppedMessageIds = _ref1[1];
|
|
3806
|
+
var _ref2 = _sliced_to_array((0, import_react47.useState)([]), 2), playedMessageSentences = _ref2[0], setPlayedMessageSentences = _ref2[1];
|
|
3624
3807
|
var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
3625
3808
|
var nextAudioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
3626
3809
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
3627
|
-
var _ref3 = _sliced_to_array((0,
|
|
3810
|
+
var _ref3 = _sliced_to_array((0, import_react47.useState)(false), 2), isPlaying = _ref3[0], setIsPlaying = _ref3[1];
|
|
3628
3811
|
var latestMessageProps = useLatestMessage();
|
|
3629
|
-
var unplayedMessageSentences = (0,
|
|
3812
|
+
var unplayedMessageSentences = (0, import_react47.useMemo)(function() {
|
|
3630
3813
|
if (!latestMessageProps.latestMessage) return [];
|
|
3631
3814
|
if (latestMessageProps.latestMessage.role !== "assistant") return [];
|
|
3632
3815
|
if (stoppedMessageIds.includes(latestMessageProps.latestMessage.id)) return [];
|
|
@@ -3647,7 +3830,7 @@ var useMessageAudio = function(param) {
|
|
|
3647
3830
|
latestMessageProps,
|
|
3648
3831
|
playedMessageSentences
|
|
3649
3832
|
]);
|
|
3650
|
-
(0,
|
|
3833
|
+
(0, import_react47.useEffect)(function() {
|
|
3651
3834
|
if (isPlaying) return;
|
|
3652
3835
|
if (audioPlayer.playing) return;
|
|
3653
3836
|
if (!latestMessageProps.latestMessage) return;
|
|
@@ -3715,7 +3898,7 @@ var useMessageAudio = function(param) {
|
|
|
3715
3898
|
playedMessageSentences,
|
|
3716
3899
|
onEnd
|
|
3717
3900
|
]);
|
|
3718
|
-
(0,
|
|
3901
|
+
(0, import_react47.useEffect)(function() {
|
|
3719
3902
|
if (isHtmlAudioSupported) {
|
|
3720
3903
|
var _import_howler_Howler__howls___sounds_, _import_howler_Howler__howls_, _import_howler_Howler;
|
|
3721
3904
|
if (!((_import_howler_Howler = import_howler.Howler) === null || _import_howler_Howler === void 0 ? void 0 : (_import_howler_Howler__howls_ = _import_howler_Howler._howls[0]) === null || _import_howler_Howler__howls_ === void 0 ? void 0 : (_import_howler_Howler__howls___sounds_ = _import_howler_Howler__howls_._sounds[0]) === null || _import_howler_Howler__howls___sounds_ === void 0 ? void 0 : _import_howler_Howler__howls___sounds_._node)) return;
|
|
@@ -3724,9 +3907,9 @@ var useMessageAudio = function(param) {
|
|
|
3724
3907
|
}, [
|
|
3725
3908
|
audioPlayer
|
|
3726
3909
|
]);
|
|
3727
|
-
var _ref4 = _sliced_to_array((0,
|
|
3728
|
-
var isAudioEngineInited = (0,
|
|
3729
|
-
(0,
|
|
3910
|
+
var _ref4 = _sliced_to_array((0, import_react47.useState)(null), 2), audioEngine = _ref4[0], setAudioEngine = _ref4[1];
|
|
3911
|
+
var isAudioEngineInited = (0, import_react47.useRef)(false);
|
|
3912
|
+
(0, import_react47.useEffect)(function() {
|
|
3730
3913
|
if (!audioPlayer.playing) return;
|
|
3731
3914
|
if (isAudioEngineInited.current) return;
|
|
3732
3915
|
isAudioEngineInited.current = true;
|
|
@@ -3747,7 +3930,7 @@ var useMessageAudio = function(param) {
|
|
|
3747
3930
|
audioPlayer,
|
|
3748
3931
|
isAudioEngineInited
|
|
3749
3932
|
]);
|
|
3750
|
-
var visualizationAnalyser = (0,
|
|
3933
|
+
var visualizationAnalyser = (0, import_react47.useMemo)(function() {
|
|
3751
3934
|
if (!audioEngine) return null;
|
|
3752
3935
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3753
3936
|
audioEngine.source.connect(audioEngine.audioContext.destination);
|
|
@@ -3756,7 +3939,7 @@ var useMessageAudio = function(param) {
|
|
|
3756
3939
|
}, [
|
|
3757
3940
|
audioEngine
|
|
3758
3941
|
]);
|
|
3759
|
-
var isPending = (0,
|
|
3942
|
+
var isPending = (0, import_react47.useMemo)(function() {
|
|
3760
3943
|
return isPlaying || unplayedMessageSentences.length > 0;
|
|
3761
3944
|
}, [
|
|
3762
3945
|
isPlaying,
|
|
@@ -3843,25 +4026,25 @@ var Root12 = function(param) {
|
|
|
3843
4026
|
});
|
|
3844
4027
|
};
|
|
3845
4028
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3846
|
-
var
|
|
4029
|
+
var import_react50 = require("react");
|
|
3847
4030
|
var import_lodash9 = __toESM(require("lodash"), 1);
|
|
3848
4031
|
var import_themes46 = require("@radix-ui/themes");
|
|
3849
4032
|
// src/hooks/threads/useAudioThreadContext/index.ts
|
|
3850
|
-
var
|
|
4033
|
+
var import_react48 = require("react");
|
|
3851
4034
|
var useAudioThreadContext = function() {
|
|
3852
|
-
return (0,
|
|
4035
|
+
return (0, import_react48.useContext)(AudioThreadContext);
|
|
3853
4036
|
};
|
|
3854
4037
|
// src/components/threads/AudioThread/BarsVisualizer/index.tsx
|
|
3855
4038
|
var import_lodash8 = __toESM(require("lodash"), 1);
|
|
3856
4039
|
var import_themes45 = require("@radix-ui/themes");
|
|
3857
|
-
var
|
|
3858
|
-
var
|
|
4040
|
+
var import_react49 = require("react");
|
|
4041
|
+
var import_radash15 = require("radash");
|
|
3859
4042
|
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
3860
4043
|
var barCount = 4;
|
|
3861
4044
|
var BarsVisualizer = function(param) {
|
|
3862
4045
|
var visualizationAnalyser = param.visualizationAnalyser, backgroundColor = param.backgroundColor, height = param.height, barWidth = param.barWidth;
|
|
3863
|
-
var _ref = _sliced_to_array((0,
|
|
3864
|
-
var draw = (0,
|
|
4046
|
+
var _ref = _sliced_to_array((0, import_react49.useState)([]), 2), barHeights = _ref[0], setBarHeights = _ref[1];
|
|
4047
|
+
var draw = (0, import_react49.useCallback)(function(param) {
|
|
3865
4048
|
var visualizationAnalyser2 = param.visualizationAnalyser;
|
|
3866
4049
|
if (!visualizationAnalyser2) {
|
|
3867
4050
|
setBarHeights(Array(barCount).fill(0));
|
|
@@ -3869,7 +4052,7 @@ var BarsVisualizer = function(param) {
|
|
|
3869
4052
|
}
|
|
3870
4053
|
var frequencyData = new Uint8Array(visualizationAnalyser2.frequencyBinCount / 15);
|
|
3871
4054
|
visualizationAnalyser2.getByteFrequencyData(frequencyData);
|
|
3872
|
-
var clusteredFrequencyData = (0,
|
|
4055
|
+
var clusteredFrequencyData = (0, import_radash15.cluster)(frequencyData, frequencyData.length / barCount);
|
|
3873
4056
|
setBarHeights(clusteredFrequencyData.map(function(frequencyDataCluster) {
|
|
3874
4057
|
return import_lodash8.default.mean(frequencyDataCluster) / 255 * 100;
|
|
3875
4058
|
}));
|
|
@@ -3879,7 +4062,7 @@ var BarsVisualizer = function(param) {
|
|
|
3879
4062
|
});
|
|
3880
4063
|
});
|
|
3881
4064
|
}, []);
|
|
3882
|
-
(0,
|
|
4065
|
+
(0, import_react49.useEffect)(function() {
|
|
3883
4066
|
draw({
|
|
3884
4067
|
visualizationAnalyser: visualizationAnalyser
|
|
3885
4068
|
});
|
|
@@ -3919,9 +4102,9 @@ var BarsVisualizer = function(param) {
|
|
|
3919
4102
|
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
3920
4103
|
var Visualization = function() {
|
|
3921
4104
|
var audioThreadContext = useAudioThreadContext();
|
|
3922
|
-
var assistantNameContext = (0,
|
|
3923
|
-
var _ref = _sliced_to_array((0,
|
|
3924
|
-
var draw = (0,
|
|
4105
|
+
var assistantNameContext = (0, import_react50.useContext)(AssistantNameContext);
|
|
4106
|
+
var _ref = _sliced_to_array((0, import_react50.useState)(0), 2), scale = _ref[0], setScale = _ref[1];
|
|
4107
|
+
var draw = (0, import_react50.useCallback)(function(param) {
|
|
3925
4108
|
var visualizationAnalyser = param.visualizationAnalyser;
|
|
3926
4109
|
if (!visualizationAnalyser) {
|
|
3927
4110
|
setScale(1);
|
|
@@ -3936,7 +4119,7 @@ var Visualization = function() {
|
|
|
3936
4119
|
});
|
|
3937
4120
|
});
|
|
3938
4121
|
}, []);
|
|
3939
|
-
(0,
|
|
4122
|
+
(0, import_react50.useEffect)(function() {
|
|
3940
4123
|
draw({
|
|
3941
4124
|
visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser
|
|
3942
4125
|
});
|
|
@@ -4221,10 +4404,10 @@ AudioThreadDialog.Root = Root9;
|
|
|
4221
4404
|
AudioThreadDialog.Trigger = Trigger;
|
|
4222
4405
|
AudioThreadDialog.Content = Content4;
|
|
4223
4406
|
// src/components/suggestions/Suggestions/index.tsx
|
|
4224
|
-
var
|
|
4407
|
+
var import_react52 = require("react");
|
|
4225
4408
|
// src/components/suggestions/Suggestions/Content.tsx
|
|
4226
|
-
var
|
|
4227
|
-
var
|
|
4409
|
+
var import_react51 = require("react");
|
|
4410
|
+
var import_radash16 = require("radash");
|
|
4228
4411
|
var import_react_children_utilities = require("react-children-utilities");
|
|
4229
4412
|
var import_themes51 = require("@radix-ui/themes");
|
|
4230
4413
|
// src/components/suggestions/Suggestions/Item.tsx
|
|
@@ -4280,16 +4463,16 @@ var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
|
4280
4463
|
var Content6 = function(param) {
|
|
4281
4464
|
var children = param.children;
|
|
4282
4465
|
var isMutatingMessage = useIsMutatingMessage();
|
|
4283
|
-
var suggestions = (0,
|
|
4466
|
+
var suggestions = (0, import_react51.useMemo)(function() {
|
|
4284
4467
|
return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
|
|
4285
|
-
return !(0,
|
|
4468
|
+
return !(0, import_radash16.isEmpty)(c);
|
|
4286
4469
|
}).map(function(c) {
|
|
4287
4470
|
return c.trim();
|
|
4288
4471
|
});
|
|
4289
4472
|
}, [
|
|
4290
4473
|
children
|
|
4291
4474
|
]);
|
|
4292
|
-
if ((0,
|
|
4475
|
+
if ((0, import_radash16.isEmpty)(suggestions)) return null;
|
|
4293
4476
|
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes51.Flex, {
|
|
4294
4477
|
gap: "2",
|
|
4295
4478
|
py: "2",
|
|
@@ -4307,7 +4490,7 @@ var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
|
4307
4490
|
var Suggestions = function(param) {
|
|
4308
4491
|
var children = param.children;
|
|
4309
4492
|
var latestMessageProps = useLatestMessage();
|
|
4310
|
-
var isDisabled = (0,
|
|
4493
|
+
var isDisabled = (0, import_react52.useMemo)(function() {
|
|
4311
4494
|
var // @ts-ignore-next-line
|
|
4312
4495
|
_latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
4313
4496
|
return (_latestMessageProps_latestMessage = latestMessageProps.latestMessage) === null || _latestMessageProps_latestMessage === void 0 ? void 0 : (_latestMessageProps_latestMessage_metadata = _latestMessageProps_latestMessage.metadata) === null || _latestMessageProps_latestMessage_metadata === void 0 ? void 0 : _latestMessageProps_latestMessage_metadata.isBlocking;
|
|
@@ -4322,14 +4505,14 @@ var Suggestions = function(param) {
|
|
|
4322
4505
|
};
|
|
4323
4506
|
Suggestions.Item = Item;
|
|
4324
4507
|
// src/components/markdown/MarkdownProvider/index.tsx
|
|
4325
|
-
var
|
|
4508
|
+
var import_react53 = require("react");
|
|
4326
4509
|
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
4327
4510
|
var MarkdownProvider = function(_param) {
|
|
4328
4511
|
var children = _param.children, rest = _object_without_properties(_param, [
|
|
4329
4512
|
"children"
|
|
4330
4513
|
]);
|
|
4331
4514
|
var prevMarkdownContext = useMarkdownContext();
|
|
4332
|
-
var value = (0,
|
|
4515
|
+
var value = (0, import_react53.useMemo)(function() {
|
|
4333
4516
|
return merge(prevMarkdownContext, rest);
|
|
4334
4517
|
}, [
|
|
4335
4518
|
rest,
|
|
@@ -4341,11 +4524,11 @@ var MarkdownProvider = function(_param) {
|
|
|
4341
4524
|
});
|
|
4342
4525
|
};
|
|
4343
4526
|
// src/components/components/ComponentsProvider.tsx
|
|
4344
|
-
var
|
|
4527
|
+
var import_react55 = require("react");
|
|
4345
4528
|
// src/hooks/components/useComponents.ts
|
|
4346
|
-
var
|
|
4529
|
+
var import_react54 = require("react");
|
|
4347
4530
|
var useComponents = function() {
|
|
4348
|
-
return (0,
|
|
4531
|
+
return (0, import_react54.useContext)(ComponentsContext);
|
|
4349
4532
|
};
|
|
4350
4533
|
// src/components/components/ComponentsProvider.tsx
|
|
4351
4534
|
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
@@ -4354,7 +4537,7 @@ var ComponentsProvider = function(_param) {
|
|
|
4354
4537
|
"children"
|
|
4355
4538
|
]);
|
|
4356
4539
|
var prevComponents = useComponents();
|
|
4357
|
-
var value = (0,
|
|
4540
|
+
var value = (0, import_react55.useMemo)(function() {
|
|
4358
4541
|
return merge(prevComponents, rest);
|
|
4359
4542
|
}, [
|
|
4360
4543
|
rest,
|