@superinterface/react 2.13.4 → 2.15.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/dist/index.cjs +378 -317
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +65 -15
- package/dist/index.d.ts +65 -15
- package/dist/index.js +274 -225
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -338,6 +338,9 @@ __export(src_exports, {
|
|
|
338
338
|
AudioThreadDialog: function() {
|
|
339
339
|
return AudioThreadDialog;
|
|
340
340
|
},
|
|
341
|
+
ComponentsProvider: function() {
|
|
342
|
+
return ComponentsProvider;
|
|
343
|
+
},
|
|
341
344
|
FunctionBase: function() {
|
|
342
345
|
return FunctionBase;
|
|
343
346
|
},
|
|
@@ -350,6 +353,9 @@ __export(src_exports, {
|
|
|
350
353
|
MarkdownProvider: function() {
|
|
351
354
|
return MarkdownProvider;
|
|
352
355
|
},
|
|
356
|
+
RunStep: function() {
|
|
357
|
+
return RunStep;
|
|
358
|
+
},
|
|
353
359
|
Suggestions: function() {
|
|
354
360
|
return Suggestions;
|
|
355
361
|
},
|
|
@@ -365,6 +371,9 @@ __export(src_exports, {
|
|
|
365
371
|
ThreadDialogContext: function() {
|
|
366
372
|
return ThreadDialogContext;
|
|
367
373
|
},
|
|
374
|
+
useComponents: function() {
|
|
375
|
+
return useComponents;
|
|
376
|
+
},
|
|
368
377
|
useCreateMessage: function() {
|
|
369
378
|
return useCreateMessage;
|
|
370
379
|
},
|
|
@@ -488,7 +497,7 @@ var SuperinterfaceProvider = function(param) {
|
|
|
488
497
|
// src/components/threads/Thread/Messages/index.tsx
|
|
489
498
|
var import_themes30 = require("@radix-ui/themes");
|
|
490
499
|
// src/components/threads/Thread/Messages/Content/index.tsx
|
|
491
|
-
var
|
|
500
|
+
var import_react24 = require("react");
|
|
492
501
|
// src/hooks/messages/useMessages/index.tsx
|
|
493
502
|
var import_react4 = require("react");
|
|
494
503
|
var import_react_query2 = require("@tanstack/react-query");
|
|
@@ -799,7 +808,7 @@ var useToasts = function() {
|
|
|
799
808
|
return (0, import_react9.useContext)(ToastsContext);
|
|
800
809
|
};
|
|
801
810
|
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
802
|
-
var
|
|
811
|
+
var import_react23 = require("react");
|
|
803
812
|
var import_themes27 = require("@radix-ui/themes");
|
|
804
813
|
var import_react_icons4 = require("@radix-ui/react-icons");
|
|
805
814
|
// src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
|
|
@@ -835,7 +844,7 @@ var AssistantNameContext = (0, import_react12.createContext)("Assistant");
|
|
|
835
844
|
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
836
845
|
var import_themes26 = require("@radix-ui/themes");
|
|
837
846
|
// src/components/threads/Thread/Message/index.tsx
|
|
838
|
-
var
|
|
847
|
+
var import_react22 = require("react");
|
|
839
848
|
var import_themes25 = require("@radix-ui/themes");
|
|
840
849
|
// src/components/skeletons/StartingContentSkeleton/index.tsx
|
|
841
850
|
var import_themes6 = require("@radix-ui/themes");
|
|
@@ -854,6 +863,9 @@ var StartingContentSkeleton = function() {
|
|
|
854
863
|
};
|
|
855
864
|
// src/components/runSteps/RunSteps/index.tsx
|
|
856
865
|
var import_themes15 = require("@radix-ui/themes");
|
|
866
|
+
var import_react17 = require("react");
|
|
867
|
+
// src/contexts/components/ComponentsContext/index.tsx
|
|
868
|
+
var import_react16 = require("react");
|
|
857
869
|
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
858
870
|
var import_themes14 = require("@radix-ui/themes");
|
|
859
871
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
@@ -1080,10 +1092,16 @@ var Starting = function() {
|
|
|
1080
1092
|
};
|
|
1081
1093
|
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
1082
1094
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1095
|
+
var Root = function(param) {
|
|
1096
|
+
var children = param.children;
|
|
1097
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_themes14.Flex, {
|
|
1098
|
+
direction: "column",
|
|
1099
|
+
children: children
|
|
1100
|
+
});
|
|
1101
|
+
};
|
|
1083
1102
|
var ToolCalls = function(param) {
|
|
1084
1103
|
var stepDetails = param.stepDetails, runStep = param.runStep;
|
|
1085
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1086
|
-
direction: "column",
|
|
1104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Root, {
|
|
1087
1105
|
children: [
|
|
1088
1106
|
!stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Starting, {}),
|
|
1089
1107
|
stepDetails.tool_calls.map(function(toolCall) {
|
|
@@ -1095,6 +1113,9 @@ var ToolCalls = function(param) {
|
|
|
1095
1113
|
]
|
|
1096
1114
|
});
|
|
1097
1115
|
};
|
|
1116
|
+
ToolCalls.Root = Root;
|
|
1117
|
+
ToolCalls.Starting = Starting;
|
|
1118
|
+
ToolCalls.ToolCall = ToolCall;
|
|
1098
1119
|
// src/components/runSteps/RunStep/index.tsx
|
|
1099
1120
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1100
1121
|
var RunStep = function(param) {
|
|
@@ -1107,21 +1128,30 @@ var RunStep = function(param) {
|
|
|
1107
1128
|
}
|
|
1108
1129
|
return null;
|
|
1109
1130
|
};
|
|
1131
|
+
RunStep.ToolCalls = ToolCalls;
|
|
1132
|
+
// src/contexts/components/ComponentsContext/index.tsx
|
|
1133
|
+
var ComponentsContext = (0, import_react16.createContext)({
|
|
1134
|
+
components: {
|
|
1135
|
+
RunStep: RunStep
|
|
1136
|
+
}
|
|
1137
|
+
});
|
|
1110
1138
|
// src/components/runSteps/RunSteps/index.tsx
|
|
1111
1139
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1112
1140
|
var RunSteps = function(param) {
|
|
1113
1141
|
var runSteps = param.runSteps;
|
|
1142
|
+
var componentsContext = (0, import_react17.useContext)(ComponentsContext);
|
|
1143
|
+
var Component = componentsContext.components.RunStep;
|
|
1114
1144
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes15.Flex, {
|
|
1115
1145
|
direction: "column-reverse",
|
|
1116
1146
|
children: runSteps.map(function(runStep) {
|
|
1117
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1147
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Component, {
|
|
1118
1148
|
runStep: runStep
|
|
1119
1149
|
}, runStep.id);
|
|
1120
1150
|
})
|
|
1121
1151
|
});
|
|
1122
1152
|
};
|
|
1123
1153
|
// src/hooks/messages/useIsMutatingMessage/index.ts
|
|
1124
|
-
var
|
|
1154
|
+
var import_react18 = require("react");
|
|
1125
1155
|
var import_react_query3 = require("@tanstack/react-query");
|
|
1126
1156
|
var useIsMutatingMessage = function() {
|
|
1127
1157
|
var threadContext = useSuperinterfaceContext();
|
|
@@ -1131,7 +1161,7 @@ var useIsMutatingMessage = function() {
|
|
|
1131
1161
|
threadContext.variables
|
|
1132
1162
|
]
|
|
1133
1163
|
});
|
|
1134
|
-
var isMutatingMessage = (0,
|
|
1164
|
+
var isMutatingMessage = (0, import_react18.useMemo)(function() {
|
|
1135
1165
|
return mutatingMessagesCount > 0;
|
|
1136
1166
|
}, [
|
|
1137
1167
|
mutatingMessagesCount
|
|
@@ -1139,18 +1169,18 @@ var useIsMutatingMessage = function() {
|
|
|
1139
1169
|
return isMutatingMessage;
|
|
1140
1170
|
};
|
|
1141
1171
|
// src/contexts/messages/MessageContext/index.ts
|
|
1142
|
-
var
|
|
1143
|
-
var MessageContext = (0,
|
|
1172
|
+
var import_react19 = require("react");
|
|
1173
|
+
var MessageContext = (0, import_react19.createContext)({
|
|
1144
1174
|
message: null
|
|
1145
1175
|
});
|
|
1146
1176
|
// src/components/threads/Thread/Message/Provider.tsx
|
|
1147
1177
|
var Provider = MessageContext.Provider;
|
|
1148
1178
|
// src/components/threads/Thread/Message/TextContent.tsx
|
|
1149
|
-
var
|
|
1179
|
+
var import_react_markdown = __toESM(require("react-markdown"), 1);
|
|
1150
1180
|
// src/hooks/markdown/useMarkdownContext/index.ts
|
|
1151
|
-
var
|
|
1181
|
+
var import_react21 = require("react");
|
|
1152
1182
|
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1153
|
-
var
|
|
1183
|
+
var import_react20 = require("react");
|
|
1154
1184
|
// src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
|
|
1155
1185
|
var import_themes16 = require("@radix-ui/themes");
|
|
1156
1186
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
@@ -1280,7 +1310,7 @@ var components = {
|
|
|
1280
1310
|
img: Img
|
|
1281
1311
|
};
|
|
1282
1312
|
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1283
|
-
var MarkdownContext = (0,
|
|
1313
|
+
var MarkdownContext = (0, import_react20.createContext)({
|
|
1284
1314
|
remarkPlugins: [],
|
|
1285
1315
|
rehypeReactOptions: {
|
|
1286
1316
|
components: components
|
|
@@ -1288,19 +1318,22 @@ var MarkdownContext = (0, import_react18.createContext)({
|
|
|
1288
1318
|
});
|
|
1289
1319
|
// src/hooks/markdown/useMarkdownContext/index.ts
|
|
1290
1320
|
var useMarkdownContext = function() {
|
|
1291
|
-
return (0,
|
|
1321
|
+
return (0, import_react21.useContext)(MarkdownContext);
|
|
1292
1322
|
};
|
|
1293
1323
|
// src/components/threads/Thread/Message/TextContent.tsx
|
|
1324
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1294
1325
|
var TextContent = function(param) {
|
|
1295
1326
|
var content = param.content;
|
|
1296
1327
|
var markdownContext = useMarkdownContext();
|
|
1297
|
-
return (0,
|
|
1328
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_markdown.default, _object_spread_props(_object_spread({}, markdownContext), {
|
|
1329
|
+
children: content.text.value
|
|
1330
|
+
}));
|
|
1298
1331
|
};
|
|
1299
1332
|
// src/components/threads/Thread/Message/index.tsx
|
|
1300
|
-
var
|
|
1333
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1301
1334
|
var Message = function(param) {
|
|
1302
1335
|
var message = param.message;
|
|
1303
|
-
var _ref = _sliced_to_array((0,
|
|
1336
|
+
var _ref = _sliced_to_array((0, import_react22.useMemo)(function() {
|
|
1304
1337
|
if (!message.runSteps.length) return [
|
|
1305
1338
|
[],
|
|
1306
1339
|
[]
|
|
@@ -1333,7 +1366,7 @@ var Message = function(param) {
|
|
|
1333
1366
|
message
|
|
1334
1367
|
]), 2), olderRunSteps = _ref[0], laterRunSteps = _ref[1];
|
|
1335
1368
|
var isMutatingMessage = useIsMutatingMessage();
|
|
1336
|
-
var isInProgress = (0,
|
|
1369
|
+
var isInProgress = (0, import_react22.useMemo)(function() {
|
|
1337
1370
|
if (!isMutatingMessage) return false;
|
|
1338
1371
|
if (message.status === "in_progress") return true;
|
|
1339
1372
|
return message.runSteps.some(function(rs) {
|
|
@@ -1342,28 +1375,28 @@ var Message = function(param) {
|
|
|
1342
1375
|
}, [
|
|
1343
1376
|
message
|
|
1344
1377
|
]);
|
|
1345
|
-
return /* @__PURE__ */ (0,
|
|
1378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Provider, {
|
|
1346
1379
|
value: {
|
|
1347
1380
|
message: message
|
|
1348
1381
|
},
|
|
1349
|
-
children: /* @__PURE__ */ (0,
|
|
1382
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_themes25.Box, {
|
|
1350
1383
|
children: [
|
|
1351
|
-
/* @__PURE__ */ (0,
|
|
1384
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RunSteps, {
|
|
1352
1385
|
runSteps: olderRunSteps
|
|
1353
1386
|
}),
|
|
1354
|
-
/* @__PURE__ */ (0,
|
|
1387
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_themes25.Box, {
|
|
1355
1388
|
children: [
|
|
1356
1389
|
message.content.map(function(content, index) {
|
|
1357
|
-
return /* @__PURE__ */ (0,
|
|
1358
|
-
children: content.type === "text" && /* @__PURE__ */ (0,
|
|
1390
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react22.Fragment, {
|
|
1391
|
+
children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(TextContent, {
|
|
1359
1392
|
content: content
|
|
1360
1393
|
})
|
|
1361
1394
|
}, index);
|
|
1362
1395
|
}),
|
|
1363
|
-
isInProgress && /* @__PURE__ */ (0,
|
|
1396
|
+
isInProgress && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(StartingContentSkeleton, {})
|
|
1364
1397
|
]
|
|
1365
1398
|
}),
|
|
1366
|
-
/* @__PURE__ */ (0,
|
|
1399
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RunSteps, {
|
|
1367
1400
|
runSteps: laterRunSteps
|
|
1368
1401
|
})
|
|
1369
1402
|
]
|
|
@@ -1371,36 +1404,36 @@ var Message = function(param) {
|
|
|
1371
1404
|
});
|
|
1372
1405
|
};
|
|
1373
1406
|
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
1374
|
-
var
|
|
1407
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1375
1408
|
var Content2 = function(param) {
|
|
1376
1409
|
var messageGroup = param.messageGroup;
|
|
1377
|
-
return /* @__PURE__ */ (0,
|
|
1410
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes26.Flex, {
|
|
1378
1411
|
direction: "column-reverse",
|
|
1379
1412
|
children: messageGroup.messages.map(function(message) {
|
|
1380
|
-
return /* @__PURE__ */ (0,
|
|
1413
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Message, {
|
|
1381
1414
|
message: message
|
|
1382
1415
|
}, message.id);
|
|
1383
1416
|
})
|
|
1384
1417
|
});
|
|
1385
1418
|
};
|
|
1386
1419
|
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
1387
|
-
var
|
|
1420
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1388
1421
|
var MessageGroup = function(param) {
|
|
1389
1422
|
var messageGroup = param.messageGroup;
|
|
1390
|
-
var assistantNameContext = (0,
|
|
1391
|
-
return /* @__PURE__ */ (0,
|
|
1423
|
+
var assistantNameContext = (0, import_react23.useContext)(AssistantNameContext);
|
|
1424
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(MessageGroupBase, {
|
|
1392
1425
|
children: [
|
|
1393
|
-
messageGroup.role === "user" ? /* @__PURE__ */ (0,
|
|
1394
|
-
fallback: /* @__PURE__ */ (0,
|
|
1426
|
+
messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes27.Avatar, {
|
|
1427
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_icons4.PersonIcon, {}),
|
|
1395
1428
|
size: "1"
|
|
1396
|
-
}) : /* @__PURE__ */ (0,
|
|
1397
|
-
/* @__PURE__ */ (0,
|
|
1429
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(AssistantAvatar, {}),
|
|
1430
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_themes27.Box, {
|
|
1398
1431
|
flexGrow: "1",
|
|
1399
1432
|
children: [
|
|
1400
|
-
/* @__PURE__ */ (0,
|
|
1433
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Name, {
|
|
1401
1434
|
children: messageGroup.role === "user" ? "You" : assistantNameContext
|
|
1402
1435
|
}),
|
|
1403
|
-
/* @__PURE__ */ (0,
|
|
1436
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Content2, {
|
|
1404
1437
|
messageGroup: messageGroup
|
|
1405
1438
|
})
|
|
1406
1439
|
]
|
|
@@ -1409,14 +1442,14 @@ var MessageGroup = function(param) {
|
|
|
1409
1442
|
});
|
|
1410
1443
|
};
|
|
1411
1444
|
// src/components/threads/Thread/Messages/Content/index.tsx
|
|
1412
|
-
var
|
|
1445
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1413
1446
|
var Content3 = function() {
|
|
1414
1447
|
var _useMessages = useMessages(), messages2 = _useMessages.messages, isLoading = _useMessages.isLoading, isLoadingError = _useMessages.isLoadingError;
|
|
1415
1448
|
var addToast = useToasts().addToast;
|
|
1416
1449
|
var _useMessageGroups = useMessageGroups({
|
|
1417
1450
|
messages: messages2
|
|
1418
1451
|
}), messageGroups2 = _useMessageGroups.messageGroups;
|
|
1419
|
-
(0,
|
|
1452
|
+
(0, import_react24.useEffect)(function() {
|
|
1420
1453
|
if (isLoadingError) {
|
|
1421
1454
|
addToast({
|
|
1422
1455
|
type: "error",
|
|
@@ -1428,45 +1461,45 @@ var Content3 = function() {
|
|
|
1428
1461
|
addToast
|
|
1429
1462
|
]);
|
|
1430
1463
|
if (isLoading || isLoadingError) {
|
|
1431
|
-
return /* @__PURE__ */ (0,
|
|
1464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(MessagesSkeleton, {});
|
|
1432
1465
|
}
|
|
1433
|
-
return /* @__PURE__ */ (0,
|
|
1466
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, {
|
|
1434
1467
|
children: messageGroups2.map(function(messageGroup) {
|
|
1435
|
-
return /* @__PURE__ */ (0,
|
|
1468
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(MessageGroup, {
|
|
1436
1469
|
messageGroup: messageGroup
|
|
1437
1470
|
}, messageGroup.id);
|
|
1438
1471
|
})
|
|
1439
1472
|
});
|
|
1440
1473
|
};
|
|
1441
1474
|
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1442
|
-
var
|
|
1475
|
+
var import_react27 = require("react");
|
|
1443
1476
|
// src/components/skeletons/StartingSkeleton/index.tsx
|
|
1444
|
-
var
|
|
1477
|
+
var import_react25 = require("react");
|
|
1445
1478
|
var import_themes28 = require("@radix-ui/themes");
|
|
1446
|
-
var
|
|
1479
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1447
1480
|
var StartingSkeleton = function(param) {
|
|
1448
1481
|
var children = param.children;
|
|
1449
|
-
var assistantNameContext = (0,
|
|
1450
|
-
return /* @__PURE__ */ (0,
|
|
1482
|
+
var assistantNameContext = (0, import_react25.useContext)(AssistantNameContext);
|
|
1483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(MessageGroupBase, {
|
|
1451
1484
|
children: [
|
|
1452
|
-
/* @__PURE__ */ (0,
|
|
1453
|
-
/* @__PURE__ */ (0,
|
|
1485
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(AssistantAvatar, {}),
|
|
1486
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes28.Box, {
|
|
1454
1487
|
children: [
|
|
1455
|
-
/* @__PURE__ */ (0,
|
|
1488
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Name, {
|
|
1456
1489
|
children: assistantNameContext
|
|
1457
1490
|
}),
|
|
1458
1491
|
children,
|
|
1459
|
-
/* @__PURE__ */ (0,
|
|
1492
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(StartingContentSkeleton, {})
|
|
1460
1493
|
]
|
|
1461
1494
|
})
|
|
1462
1495
|
]
|
|
1463
1496
|
});
|
|
1464
1497
|
};
|
|
1465
1498
|
// src/hooks/messages/useLatestMessage/index.ts
|
|
1466
|
-
var
|
|
1499
|
+
var import_react26 = require("react");
|
|
1467
1500
|
var useLatestMessage = function() {
|
|
1468
1501
|
var props = useMessages();
|
|
1469
|
-
return (0,
|
|
1502
|
+
return (0, import_react26.useMemo)(function() {
|
|
1470
1503
|
return _object_spread_props(_object_spread({}, props), {
|
|
1471
1504
|
latestMessage: props.messages[0] || null
|
|
1472
1505
|
});
|
|
@@ -1481,11 +1514,11 @@ var isOptimistic = function(param) {
|
|
|
1481
1514
|
return import_lodash4.default.startsWith(id, "-");
|
|
1482
1515
|
};
|
|
1483
1516
|
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1484
|
-
var
|
|
1517
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1485
1518
|
var Progress = function() {
|
|
1486
1519
|
var latestMessage = useLatestMessage().latestMessage;
|
|
1487
1520
|
var isMutatingMessage = useIsMutatingMessage();
|
|
1488
|
-
var isVisible = (0,
|
|
1521
|
+
var isVisible = (0, import_react27.useMemo)(function() {
|
|
1489
1522
|
if (!latestMessage) return false;
|
|
1490
1523
|
if (latestMessage.role !== "user") return false;
|
|
1491
1524
|
if (latestMessage.status === "in_progress") return false;
|
|
@@ -1499,20 +1532,20 @@ var Progress = function() {
|
|
|
1499
1532
|
isMutatingMessage
|
|
1500
1533
|
]);
|
|
1501
1534
|
if (!isVisible) return null;
|
|
1502
|
-
return /* @__PURE__ */ (0,
|
|
1535
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(StartingSkeleton, {});
|
|
1503
1536
|
};
|
|
1504
1537
|
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
1505
1538
|
var import_themes29 = require("@radix-ui/themes");
|
|
1506
1539
|
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1507
|
-
var
|
|
1540
|
+
var import_react29 = require("react");
|
|
1508
1541
|
var import_react_intersection_observer = require("react-intersection-observer");
|
|
1509
1542
|
// src/hooks/misc/useThrottledEffect/index.tsx
|
|
1510
1543
|
var import_lodash5 = __toESM(require("lodash"), 1);
|
|
1511
|
-
var
|
|
1544
|
+
var import_react28 = require("react");
|
|
1512
1545
|
var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
1513
1546
|
var _cbRef;
|
|
1514
|
-
var cbRef = (0,
|
|
1515
|
-
var throttledCb = (0,
|
|
1547
|
+
var cbRef = (0, import_react28.useRef)(cb);
|
|
1548
|
+
var throttledCb = (0, import_react28.useCallback)(import_lodash5.default.throttle(function() {
|
|
1516
1549
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1517
1550
|
args[_key] = arguments[_key];
|
|
1518
1551
|
}
|
|
@@ -1523,17 +1556,17 @@ var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
|
1523
1556
|
}), [
|
|
1524
1557
|
delay
|
|
1525
1558
|
]);
|
|
1526
|
-
(0,
|
|
1559
|
+
(0, import_react28.useEffect)(function() {
|
|
1527
1560
|
cbRef.current = cb;
|
|
1528
1561
|
});
|
|
1529
|
-
(0,
|
|
1562
|
+
(0, import_react28.useEffect)(throttledCb, [
|
|
1530
1563
|
throttledCb
|
|
1531
1564
|
].concat(_to_consumable_array(additionalDeps)));
|
|
1532
1565
|
};
|
|
1533
1566
|
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1534
1567
|
var useInfiniteScroll = function(param) {
|
|
1535
1568
|
var isFetchingNextPage = param.isFetchingNextPage, hasNextPage = param.hasNextPage, fetchNextPage = param.fetchNextPage;
|
|
1536
|
-
var containerRef = (0,
|
|
1569
|
+
var containerRef = (0, import_react29.useRef)(null);
|
|
1537
1570
|
var _ref = (0, import_react_intersection_observer.useInView)({
|
|
1538
1571
|
root: containerRef.current,
|
|
1539
1572
|
rootMargin: "0px",
|
|
@@ -1558,8 +1591,8 @@ var useInfiniteScroll = function(param) {
|
|
|
1558
1591
|
};
|
|
1559
1592
|
};
|
|
1560
1593
|
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
1561
|
-
var
|
|
1562
|
-
var
|
|
1594
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1595
|
+
var Root2 = function(param) {
|
|
1563
1596
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
1564
1597
|
var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
|
|
1565
1598
|
var _useInfiniteScroll = useInfiniteScroll({
|
|
@@ -1567,7 +1600,7 @@ var Root = function(param) {
|
|
|
1567
1600
|
hasNextPage: hasNextPage,
|
|
1568
1601
|
fetchNextPage: fetchNextPage
|
|
1569
1602
|
}), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
|
|
1570
|
-
return /* @__PURE__ */ (0,
|
|
1603
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_themes29.Flex, {
|
|
1571
1604
|
ref: containerRef,
|
|
1572
1605
|
direction: "column-reverse",
|
|
1573
1606
|
flexGrow: "1",
|
|
@@ -1576,10 +1609,10 @@ var Root = function(param) {
|
|
|
1576
1609
|
}),
|
|
1577
1610
|
children: [
|
|
1578
1611
|
children,
|
|
1579
|
-
hasNextPage && /* @__PURE__ */ (0,
|
|
1612
|
+
hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes29.Flex, {
|
|
1580
1613
|
ref: loaderRef
|
|
1581
1614
|
}),
|
|
1582
|
-
/* @__PURE__ */ (0,
|
|
1615
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes29.Flex, {
|
|
1583
1616
|
flexShrink: "0",
|
|
1584
1617
|
flexGrow: "1"
|
|
1585
1618
|
})
|
|
@@ -1587,37 +1620,37 @@ var Root = function(param) {
|
|
|
1587
1620
|
});
|
|
1588
1621
|
};
|
|
1589
1622
|
// src/components/threads/Thread/Messages/NextPageSkeleton.tsx
|
|
1590
|
-
var
|
|
1623
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1591
1624
|
var NextPageSkeleton = function() {
|
|
1592
1625
|
var hasNextPage = useMessages().hasNextPage;
|
|
1593
1626
|
if (!hasNextPage) {
|
|
1594
1627
|
return null;
|
|
1595
1628
|
}
|
|
1596
|
-
return /* @__PURE__ */ (0,
|
|
1629
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(MessagesSkeleton, {});
|
|
1597
1630
|
};
|
|
1598
1631
|
// src/components/threads/Thread/Messages/index.tsx
|
|
1599
|
-
var
|
|
1632
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
1600
1633
|
var Messages = function(param) {
|
|
1601
1634
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
1602
|
-
return /* @__PURE__ */ (0,
|
|
1635
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Root2, {
|
|
1603
1636
|
style: style,
|
|
1604
1637
|
children: [
|
|
1605
|
-
/* @__PURE__ */ (0,
|
|
1638
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes30.Flex, {
|
|
1606
1639
|
flexShrink: "0",
|
|
1607
1640
|
height: "var(--space-3)"
|
|
1608
1641
|
}),
|
|
1609
|
-
/* @__PURE__ */ (0,
|
|
1642
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Progress, {}),
|
|
1610
1643
|
children,
|
|
1611
|
-
/* @__PURE__ */ (0,
|
|
1612
|
-
/* @__PURE__ */ (0,
|
|
1613
|
-
/* @__PURE__ */ (0,
|
|
1644
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Content3, {}),
|
|
1645
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(NextPageSkeleton, {}),
|
|
1646
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes30.Flex, {
|
|
1614
1647
|
flexShrink: "0",
|
|
1615
1648
|
flexGrow: "1"
|
|
1616
1649
|
})
|
|
1617
1650
|
]
|
|
1618
1651
|
});
|
|
1619
1652
|
};
|
|
1620
|
-
Messages.Root =
|
|
1653
|
+
Messages.Root = Root2;
|
|
1621
1654
|
Messages.Message = Message;
|
|
1622
1655
|
Messages.NextPageSkeleton = NextPageSkeleton;
|
|
1623
1656
|
// src/components/threads/Thread/MessageForm/index.tsx
|
|
@@ -1626,41 +1659,41 @@ var import_themes34 = require("@radix-ui/themes");
|
|
|
1626
1659
|
var import_react_icons5 = require("@radix-ui/react-icons");
|
|
1627
1660
|
var import_themes31 = require("@radix-ui/themes");
|
|
1628
1661
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
1629
|
-
var
|
|
1662
|
+
var import_react31 = require("react");
|
|
1630
1663
|
// src/contexts/messages/MessageFormContext/index.ts
|
|
1631
|
-
var
|
|
1632
|
-
var MessageFormContext = (0,
|
|
1664
|
+
var import_react30 = require("react");
|
|
1665
|
+
var MessageFormContext = (0, import_react30.createContext)({
|
|
1633
1666
|
isDisabled: false,
|
|
1634
1667
|
isLoading: false
|
|
1635
1668
|
});
|
|
1636
1669
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
1637
1670
|
var useMessageFormContext = function() {
|
|
1638
|
-
return (0,
|
|
1671
|
+
return (0, import_react31.useContext)(MessageFormContext);
|
|
1639
1672
|
};
|
|
1640
1673
|
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
1641
|
-
var
|
|
1674
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1642
1675
|
var Submit = function() {
|
|
1643
1676
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
1644
1677
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
1645
1678
|
if (isLoading) {
|
|
1646
|
-
return /* @__PURE__ */ (0,
|
|
1679
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_themes31.IconButton, {
|
|
1647
1680
|
type: "button",
|
|
1648
1681
|
onClick: function() {
|
|
1649
1682
|
var _superinterfaceContext_createMessageAbortControllerRef_current;
|
|
1650
1683
|
return (_superinterfaceContext_createMessageAbortControllerRef_current = superinterfaceContext.createMessageAbortControllerRef.current) === null || _superinterfaceContext_createMessageAbortControllerRef_current === void 0 ? void 0 : _superinterfaceContext_createMessageAbortControllerRef_current.abort();
|
|
1651
1684
|
},
|
|
1652
|
-
children: /* @__PURE__ */ (0,
|
|
1685
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_icons5.StopIcon, {})
|
|
1653
1686
|
});
|
|
1654
1687
|
}
|
|
1655
|
-
return /* @__PURE__ */ (0,
|
|
1688
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_themes31.IconButton, {
|
|
1656
1689
|
type: "submit",
|
|
1657
1690
|
disabled: isDisabled,
|
|
1658
|
-
children: /* @__PURE__ */ (0,
|
|
1691
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_icons5.ArrowUpIcon, {})
|
|
1659
1692
|
});
|
|
1660
1693
|
};
|
|
1661
1694
|
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
1662
1695
|
var import_react_query5 = require("@tanstack/react-query");
|
|
1663
|
-
var
|
|
1696
|
+
var import_react32 = require("react");
|
|
1664
1697
|
var import_react_hook_form = require("react-hook-form");
|
|
1665
1698
|
var import_themes32 = require("@radix-ui/themes");
|
|
1666
1699
|
// src/hooks/messages/useCreateMessage/index.ts
|
|
@@ -2282,8 +2315,8 @@ var formOptions = {
|
|
|
2282
2315
|
resolver: (0, import_zod2.zodResolver)(schema)
|
|
2283
2316
|
};
|
|
2284
2317
|
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
2285
|
-
var
|
|
2286
|
-
var
|
|
2318
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2319
|
+
var Root3 = function(param) {
|
|
2287
2320
|
var children = param.children;
|
|
2288
2321
|
var formProps = (0, import_react_hook_form.useForm)(formOptions);
|
|
2289
2322
|
var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
|
|
@@ -2314,7 +2347,7 @@ var Root2 = function(param) {
|
|
|
2314
2347
|
}
|
|
2315
2348
|
}).createMessage;
|
|
2316
2349
|
var isMutatingMessage = useIsMutatingMessage();
|
|
2317
|
-
var isLoading = (0,
|
|
2350
|
+
var isLoading = (0, import_react32.useMemo)(function() {
|
|
2318
2351
|
return isMutatingMessage || isSubmitting;
|
|
2319
2352
|
}, [
|
|
2320
2353
|
isMutatingMessage,
|
|
@@ -2346,7 +2379,7 @@ var Root2 = function(param) {
|
|
|
2346
2379
|
};
|
|
2347
2380
|
}();
|
|
2348
2381
|
var latestMessage = useLatestMessage().latestMessage;
|
|
2349
|
-
var isDisabled = (0,
|
|
2382
|
+
var isDisabled = (0, import_react32.useMemo)(function() {
|
|
2350
2383
|
var // @ts-ignore-next-line
|
|
2351
2384
|
_latestMessage_metadata;
|
|
2352
2385
|
return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
|
|
@@ -2354,16 +2387,16 @@ var Root2 = function(param) {
|
|
|
2354
2387
|
latestMessage,
|
|
2355
2388
|
isLoading
|
|
2356
2389
|
]);
|
|
2357
|
-
return /* @__PURE__ */ (0,
|
|
2390
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(MessageFormContext.Provider, {
|
|
2358
2391
|
value: {
|
|
2359
2392
|
isDisabled: isDisabled,
|
|
2360
2393
|
isLoading: isLoading
|
|
2361
2394
|
},
|
|
2362
|
-
children: /* @__PURE__ */ (0,
|
|
2363
|
-
children: /* @__PURE__ */ (0,
|
|
2395
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
|
|
2396
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Box, {
|
|
2364
2397
|
asChild: true,
|
|
2365
2398
|
flexShrink: "0",
|
|
2366
|
-
children: /* @__PURE__ */ (0,
|
|
2399
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("form", {
|
|
2367
2400
|
onSubmit: handleSubmit(onSubmit),
|
|
2368
2401
|
children: children
|
|
2369
2402
|
})
|
|
@@ -2373,19 +2406,19 @@ var Root2 = function(param) {
|
|
|
2373
2406
|
};
|
|
2374
2407
|
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2375
2408
|
var import_react_use = require("react-use");
|
|
2376
|
-
var
|
|
2409
|
+
var import_react34 = require("react");
|
|
2377
2410
|
// src/components/textareas/TextareaBase/index.tsx
|
|
2378
|
-
var
|
|
2411
|
+
var import_react33 = require("react");
|
|
2379
2412
|
var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
|
|
2380
|
-
var
|
|
2413
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2381
2414
|
var UPSCALE_RATIO = 16 / 14;
|
|
2382
|
-
var TextareaBase = (0,
|
|
2383
|
-
return /* @__PURE__ */ (0,
|
|
2415
|
+
var TextareaBase = (0, import_react33.forwardRef)(function TextareaBase2(props, ref) {
|
|
2416
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, {
|
|
2384
2417
|
children: [
|
|
2385
|
-
/* @__PURE__ */ (0,
|
|
2418
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("style", {
|
|
2386
2419
|
children: ".superinterface-textarea { min-height: inherit; height: 30px; }\n.superinterface-textarea::placeholder { color: var(--gray-a10); }"
|
|
2387
2420
|
}),
|
|
2388
|
-
/* @__PURE__ */ (0,
|
|
2421
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_textarea_autosize.default, _object_spread({
|
|
2389
2422
|
ref: ref,
|
|
2390
2423
|
className: "rt-reset superinterface-textarea",
|
|
2391
2424
|
style: {
|
|
@@ -2410,20 +2443,20 @@ var TextareaBase = (0, import_react31.forwardRef)(function TextareaBase2(props,
|
|
|
2410
2443
|
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2411
2444
|
var import_react_hook_form2 = require("react-hook-form");
|
|
2412
2445
|
var import_themes33 = require("@radix-ui/themes");
|
|
2413
|
-
var
|
|
2414
|
-
var
|
|
2446
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2447
|
+
var Root4 = function(param) {
|
|
2415
2448
|
var children = param.children;
|
|
2416
2449
|
var _ref = (0, import_react_hook_form2.useFormContext)(), errors = _ref.formState.errors;
|
|
2417
|
-
return /* @__PURE__ */ (0,
|
|
2450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes33.Container, {
|
|
2418
2451
|
size: "2",
|
|
2419
2452
|
flexGrow: "0",
|
|
2420
|
-
children: /* @__PURE__ */ (0,
|
|
2453
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes33.Flex, {
|
|
2421
2454
|
direction: "column",
|
|
2422
2455
|
flexShrink: "0",
|
|
2423
|
-
children: /* @__PURE__ */ (0,
|
|
2456
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes33.Flex, {
|
|
2424
2457
|
direction: "column",
|
|
2425
2458
|
flexShrink: "0",
|
|
2426
|
-
children: /* @__PURE__ */ (0,
|
|
2459
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes33.Flex, {
|
|
2427
2460
|
style: _object_spread({
|
|
2428
2461
|
borderRadius: "var(--radius-2)",
|
|
2429
2462
|
borderWidth: "1px",
|
|
@@ -2441,19 +2474,19 @@ var Root3 = function(param) {
|
|
|
2441
2474
|
});
|
|
2442
2475
|
};
|
|
2443
2476
|
var Control = function() {
|
|
2444
|
-
var assistantNameContext = (0,
|
|
2477
|
+
var assistantNameContext = (0, import_react34.useContext)(AssistantNameContext);
|
|
2445
2478
|
var register = (0, import_react_hook_form2.useFormContext)().register;
|
|
2446
2479
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2447
|
-
var isSubmitDisabled = (0,
|
|
2480
|
+
var isSubmitDisabled = (0, import_react34.useMemo)(function() {
|
|
2448
2481
|
return isDisabled || isLoading;
|
|
2449
2482
|
}, [
|
|
2450
2483
|
isDisabled,
|
|
2451
2484
|
isLoading
|
|
2452
2485
|
]);
|
|
2453
2486
|
var isDisabledPrevious = (0, import_react_use.usePrevious)(isDisabled);
|
|
2454
|
-
var textareaRef = (0,
|
|
2487
|
+
var textareaRef = (0, import_react34.useRef)(null);
|
|
2455
2488
|
var textareaProps = register("content");
|
|
2456
|
-
(0,
|
|
2489
|
+
(0, import_react34.useEffect)(function() {
|
|
2457
2490
|
if (isDisabled) return;
|
|
2458
2491
|
if (!isDisabledPrevious) return;
|
|
2459
2492
|
if (!textareaRef.current) return;
|
|
@@ -2463,7 +2496,7 @@ var Control = function() {
|
|
|
2463
2496
|
isDisabledPrevious,
|
|
2464
2497
|
textareaProps
|
|
2465
2498
|
]);
|
|
2466
|
-
return /* @__PURE__ */ (0,
|
|
2499
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(TextareaBase, _object_spread_props(_object_spread({
|
|
2467
2500
|
minRows: 1,
|
|
2468
2501
|
placeholder: "Message ".concat(assistantNameContext, "..."),
|
|
2469
2502
|
disabled: isDisabled,
|
|
@@ -2483,36 +2516,36 @@ var Control = function() {
|
|
|
2483
2516
|
}));
|
|
2484
2517
|
};
|
|
2485
2518
|
var Field = {
|
|
2486
|
-
Root:
|
|
2519
|
+
Root: Root4,
|
|
2487
2520
|
Control: Control
|
|
2488
2521
|
};
|
|
2489
2522
|
// src/components/threads/Thread/MessageForm/index.tsx
|
|
2490
|
-
var
|
|
2523
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2491
2524
|
var MessageForm = function() {
|
|
2492
|
-
return /* @__PURE__ */ (0,
|
|
2493
|
-
children: /* @__PURE__ */ (0,
|
|
2525
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Root3, {
|
|
2526
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Field.Root, {
|
|
2494
2527
|
children: [
|
|
2495
|
-
/* @__PURE__ */ (0,
|
|
2528
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_themes34.Text, {
|
|
2496
2529
|
size: "2",
|
|
2497
2530
|
style: {
|
|
2498
2531
|
flexGrow: 1
|
|
2499
2532
|
},
|
|
2500
|
-
children: /* @__PURE__ */ (0,
|
|
2533
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_themes34.Flex, {
|
|
2501
2534
|
flexGrow: "1",
|
|
2502
2535
|
direction: "column",
|
|
2503
|
-
children: /* @__PURE__ */ (0,
|
|
2536
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Field.Control, {})
|
|
2504
2537
|
})
|
|
2505
2538
|
}),
|
|
2506
|
-
/* @__PURE__ */ (0,
|
|
2539
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_themes34.Flex, {
|
|
2507
2540
|
flexShrink: "0",
|
|
2508
2541
|
align: "end",
|
|
2509
|
-
children: /* @__PURE__ */ (0,
|
|
2542
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Submit, {})
|
|
2510
2543
|
})
|
|
2511
2544
|
]
|
|
2512
2545
|
})
|
|
2513
2546
|
});
|
|
2514
2547
|
};
|
|
2515
|
-
MessageForm.Root =
|
|
2548
|
+
MessageForm.Root = Root3;
|
|
2516
2549
|
MessageForm.Field = Field;
|
|
2517
2550
|
MessageForm.Submit = Submit;
|
|
2518
2551
|
// src/components/threads/Thread/Root/index.tsx
|
|
@@ -2520,13 +2553,13 @@ var import_themes35 = require("@radix-ui/themes");
|
|
|
2520
2553
|
// src/components/threads/Thread/Provider/index.tsx
|
|
2521
2554
|
var Provider2 = SuperinterfaceProvider;
|
|
2522
2555
|
// src/components/threads/Thread/Root/index.tsx
|
|
2523
|
-
var
|
|
2524
|
-
var
|
|
2556
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2557
|
+
var Root5 = function(_param) {
|
|
2525
2558
|
var children = _param.children, rest = _object_without_properties(_param, [
|
|
2526
2559
|
"children"
|
|
2527
2560
|
]);
|
|
2528
|
-
return /* @__PURE__ */ (0,
|
|
2529
|
-
children: /* @__PURE__ */ (0,
|
|
2561
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
|
|
2562
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes35.Flex, {
|
|
2530
2563
|
direction: "column",
|
|
2531
2564
|
flexGrow: "1",
|
|
2532
2565
|
children: children
|
|
@@ -2534,43 +2567,43 @@ var Root4 = function(_param) {
|
|
|
2534
2567
|
}));
|
|
2535
2568
|
};
|
|
2536
2569
|
// src/components/threads/Thread/index.tsx
|
|
2537
|
-
var
|
|
2570
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2538
2571
|
var Thread = function(props) {
|
|
2539
|
-
return /* @__PURE__ */ (0,
|
|
2572
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Root5, _object_spread_props(_object_spread({}, props), {
|
|
2540
2573
|
children: [
|
|
2541
|
-
/* @__PURE__ */ (0,
|
|
2542
|
-
/* @__PURE__ */ (0,
|
|
2574
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Messages, {}),
|
|
2575
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(MessageForm, {})
|
|
2543
2576
|
]
|
|
2544
2577
|
}));
|
|
2545
2578
|
};
|
|
2546
|
-
Thread.Root =
|
|
2579
|
+
Thread.Root = Root5;
|
|
2547
2580
|
Thread.Messages = Messages;
|
|
2548
2581
|
Thread.MessageForm = MessageForm;
|
|
2549
2582
|
// src/hooks/messages/useMessageContext/index.ts
|
|
2550
|
-
var
|
|
2583
|
+
var import_react35 = require("react");
|
|
2551
2584
|
var useMessageContext = function() {
|
|
2552
|
-
return (0,
|
|
2585
|
+
return (0, import_react35.useContext)(MessageContext);
|
|
2553
2586
|
};
|
|
2554
2587
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2555
|
-
var
|
|
2588
|
+
var import_react38 = require("react");
|
|
2556
2589
|
// src/contexts/threads/ThreadDialogContext/index.ts
|
|
2557
|
-
var
|
|
2558
|
-
var ThreadDialogContext = (0,
|
|
2590
|
+
var import_react36 = require("react");
|
|
2591
|
+
var ThreadDialogContext = (0, import_react36.createContext)({
|
|
2559
2592
|
isOpen: false,
|
|
2560
2593
|
setIsOpen: function() {}
|
|
2561
2594
|
});
|
|
2562
2595
|
// src/hooks/threads/useThreadDialogContext/index.ts
|
|
2563
|
-
var
|
|
2596
|
+
var import_react37 = require("react");
|
|
2564
2597
|
var useThreadDialogContext = function() {
|
|
2565
|
-
return (0,
|
|
2598
|
+
return (0, import_react37.useContext)(ThreadDialogContext);
|
|
2566
2599
|
};
|
|
2567
2600
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2568
|
-
var
|
|
2601
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2569
2602
|
var Provider3 = function(param) {
|
|
2570
2603
|
var children = param.children;
|
|
2571
2604
|
var threadDialogContext = useThreadDialogContext();
|
|
2572
|
-
var _ref = _sliced_to_array((0,
|
|
2573
|
-
return /* @__PURE__ */ (0,
|
|
2605
|
+
var _ref = _sliced_to_array((0, import_react38.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
|
|
2606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ThreadDialogContext.Provider, {
|
|
2574
2607
|
value: {
|
|
2575
2608
|
isOpen: isOpen,
|
|
2576
2609
|
setIsOpen: setIsOpen
|
|
@@ -2579,31 +2612,31 @@ var Provider3 = function(param) {
|
|
|
2579
2612
|
});
|
|
2580
2613
|
};
|
|
2581
2614
|
// src/components/toasts/ToastsProvider/index.tsx
|
|
2582
|
-
var
|
|
2615
|
+
var import_react39 = require("react");
|
|
2583
2616
|
var Toast2 = __toESM(require("@radix-ui/react-toast"), 1);
|
|
2584
2617
|
// src/components/toasts/ToastsProvider/CustomToast.tsx
|
|
2585
2618
|
var Toast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
2586
2619
|
var import_themes36 = require("@radix-ui/themes");
|
|
2587
2620
|
var import_react_icons6 = require("@radix-ui/react-icons");
|
|
2588
|
-
var
|
|
2621
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2589
2622
|
var CustomToast = function(param) {
|
|
2590
2623
|
var toast = param.toast;
|
|
2591
|
-
return /* @__PURE__ */ (0,
|
|
2592
|
-
children: /* @__PURE__ */ (0,
|
|
2593
|
-
children: /* @__PURE__ */ (0,
|
|
2594
|
-
children: /* @__PURE__ */ (0,
|
|
2624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Toast.Root, {
|
|
2625
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes36.Card, {
|
|
2626
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Toast.Title, {
|
|
2627
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_themes36.Flex, {
|
|
2595
2628
|
children: [
|
|
2596
|
-
/* @__PURE__ */ (0,
|
|
2629
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes36.Flex, {
|
|
2597
2630
|
pr: "2",
|
|
2598
2631
|
height: "14px",
|
|
2599
2632
|
align: "center",
|
|
2600
|
-
children: toast.type === "success" ? /* @__PURE__ */ (0,
|
|
2633
|
+
children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_icons6.CheckCircledIcon, {
|
|
2601
2634
|
color: "var(--accent-9)"
|
|
2602
|
-
}) : /* @__PURE__ */ (0,
|
|
2635
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_icons6.CrossCircledIcon, {
|
|
2603
2636
|
color: "var(--red-9)"
|
|
2604
2637
|
})
|
|
2605
2638
|
}),
|
|
2606
|
-
/* @__PURE__ */ (0,
|
|
2639
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes36.Text, {
|
|
2607
2640
|
weight: "medium",
|
|
2608
2641
|
size: "1",
|
|
2609
2642
|
children: toast.message
|
|
@@ -2615,31 +2648,31 @@ var CustomToast = function(param) {
|
|
|
2615
2648
|
});
|
|
2616
2649
|
};
|
|
2617
2650
|
// src/components/toasts/ToastsProvider/index.tsx
|
|
2618
|
-
var
|
|
2651
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2619
2652
|
var ToastsProvider = function(param) {
|
|
2620
2653
|
var children = param.children;
|
|
2621
|
-
var _ref = _sliced_to_array((0,
|
|
2622
|
-
var addToast = (0,
|
|
2654
|
+
var _ref = _sliced_to_array((0, import_react39.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
|
|
2655
|
+
var addToast = (0, import_react39.useCallback)(function(toast) {
|
|
2623
2656
|
return setToasts(function(prevToasts) {
|
|
2624
2657
|
return _to_consumable_array(prevToasts).concat([
|
|
2625
2658
|
toast
|
|
2626
2659
|
]);
|
|
2627
2660
|
});
|
|
2628
2661
|
}, []);
|
|
2629
|
-
return /* @__PURE__ */ (0,
|
|
2662
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ToastsContext.Provider, {
|
|
2630
2663
|
value: {
|
|
2631
2664
|
toasts: toasts,
|
|
2632
2665
|
addToast: addToast
|
|
2633
2666
|
},
|
|
2634
|
-
children: /* @__PURE__ */ (0,
|
|
2667
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Toast2.Provider, {
|
|
2635
2668
|
children: [
|
|
2636
2669
|
children,
|
|
2637
2670
|
Array.from(toasts).map(function(toast, index) {
|
|
2638
|
-
return /* @__PURE__ */ (0,
|
|
2671
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(CustomToast, {
|
|
2639
2672
|
toast: toast
|
|
2640
2673
|
}, index);
|
|
2641
2674
|
}),
|
|
2642
|
-
/* @__PURE__ */ (0,
|
|
2675
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Toast2.Viewport, {
|
|
2643
2676
|
style: {
|
|
2644
2677
|
position: "absolute",
|
|
2645
2678
|
bottom: 0,
|
|
@@ -2661,22 +2694,22 @@ var ToastsProvider = function(param) {
|
|
|
2661
2694
|
});
|
|
2662
2695
|
};
|
|
2663
2696
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2664
|
-
var
|
|
2665
|
-
var
|
|
2697
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2698
|
+
var Root7 = function(param) {
|
|
2666
2699
|
var children = param.children;
|
|
2667
|
-
return /* @__PURE__ */ (0,
|
|
2668
|
-
children: /* @__PURE__ */ (0,
|
|
2700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ToastsProvider, {
|
|
2701
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Provider3, {
|
|
2669
2702
|
children: children
|
|
2670
2703
|
})
|
|
2671
2704
|
});
|
|
2672
2705
|
};
|
|
2673
2706
|
// src/components/threads/ThreadDialog/Trigger/index.tsx
|
|
2674
2707
|
var import_themes37 = require("@radix-ui/themes");
|
|
2675
|
-
var
|
|
2708
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2676
2709
|
var Trigger = function(param) {
|
|
2677
2710
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2678
2711
|
var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
|
|
2679
|
-
return /* @__PURE__ */ (0,
|
|
2712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Flex, {
|
|
2680
2713
|
display: {
|
|
2681
2714
|
initial: isOpen ? "none" : "flex",
|
|
2682
2715
|
sm: "flex"
|
|
@@ -2702,12 +2735,12 @@ var Trigger = function(param) {
|
|
|
2702
2735
|
// src/components/threads/ThreadDialog/Button/index.tsx
|
|
2703
2736
|
var import_themes38 = require("@radix-ui/themes");
|
|
2704
2737
|
var import_react_icons7 = require("@radix-ui/react-icons");
|
|
2705
|
-
var
|
|
2738
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2706
2739
|
var Button2 = function() {
|
|
2707
|
-
return /* @__PURE__ */ (0,
|
|
2740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes38.IconButton, {
|
|
2708
2741
|
size: "4",
|
|
2709
2742
|
radius: "full",
|
|
2710
|
-
children: /* @__PURE__ */ (0,
|
|
2743
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_icons7.ChatBubbleIcon, {})
|
|
2711
2744
|
});
|
|
2712
2745
|
};
|
|
2713
2746
|
// src/components/threads/ThreadDialog/Content/index.tsx
|
|
@@ -2715,10 +2748,10 @@ var import_themes40 = require("@radix-ui/themes");
|
|
|
2715
2748
|
// src/components/threads/ThreadDialog/Close/index.tsx
|
|
2716
2749
|
var import_react_icons8 = require("@radix-ui/react-icons");
|
|
2717
2750
|
var import_themes39 = require("@radix-ui/themes");
|
|
2718
|
-
var
|
|
2751
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2719
2752
|
var Close = function() {
|
|
2720
2753
|
var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
|
|
2721
|
-
return /* @__PURE__ */ (0,
|
|
2754
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Flex, {
|
|
2722
2755
|
display: {
|
|
2723
2756
|
initial: isOpen ? "flex" : "none",
|
|
2724
2757
|
sm: "none"
|
|
@@ -2738,20 +2771,20 @@ var Close = function() {
|
|
|
2738
2771
|
style: {
|
|
2739
2772
|
zIndex: 9999999999
|
|
2740
2773
|
},
|
|
2741
|
-
children: /* @__PURE__ */ (0,
|
|
2774
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.IconButton, {
|
|
2742
2775
|
size: "2",
|
|
2743
2776
|
variant: "soft",
|
|
2744
|
-
children: /* @__PURE__ */ (0,
|
|
2777
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_icons8.Cross1Icon, {})
|
|
2745
2778
|
})
|
|
2746
2779
|
});
|
|
2747
2780
|
};
|
|
2748
2781
|
// src/components/threads/ThreadDialog/Content/index.tsx
|
|
2749
|
-
var
|
|
2750
|
-
var
|
|
2782
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
2783
|
+
var Root8 = function(param) {
|
|
2751
2784
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2752
2785
|
var isOpen = useThreadDialogContext().isOpen;
|
|
2753
2786
|
if (!isOpen) return null;
|
|
2754
|
-
return /* @__PURE__ */ (0,
|
|
2787
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes40.Flex, {
|
|
2755
2788
|
direction: "column",
|
|
2756
2789
|
justify: "end",
|
|
2757
2790
|
position: "fixed",
|
|
@@ -2779,7 +2812,7 @@ var Root7 = function(param) {
|
|
|
2779
2812
|
style: _object_spread({
|
|
2780
2813
|
zIndex: 9999999999
|
|
2781
2814
|
}, style),
|
|
2782
|
-
children: /* @__PURE__ */ (0,
|
|
2815
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_themes40.Card, {
|
|
2783
2816
|
mb: {
|
|
2784
2817
|
initial: void 0,
|
|
2785
2818
|
sm: "3"
|
|
@@ -2790,7 +2823,7 @@ var Root7 = function(param) {
|
|
|
2790
2823
|
flexGrow: 1
|
|
2791
2824
|
},
|
|
2792
2825
|
children: [
|
|
2793
|
-
/* @__PURE__ */ (0,
|
|
2826
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes40.Inset, {
|
|
2794
2827
|
clip: "padding-box",
|
|
2795
2828
|
side: "all",
|
|
2796
2829
|
pb: "current",
|
|
@@ -2800,50 +2833,50 @@ var Root7 = function(param) {
|
|
|
2800
2833
|
},
|
|
2801
2834
|
children: children
|
|
2802
2835
|
}),
|
|
2803
|
-
/* @__PURE__ */ (0,
|
|
2836
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Close, {})
|
|
2804
2837
|
]
|
|
2805
2838
|
})
|
|
2806
2839
|
});
|
|
2807
2840
|
};
|
|
2808
2841
|
var Content4 = function(param) {
|
|
2809
2842
|
var _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2810
|
-
return /* @__PURE__ */ (0,
|
|
2843
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Root8, {
|
|
2811
2844
|
style: style,
|
|
2812
|
-
children: /* @__PURE__ */ (0,
|
|
2845
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Thread.Root, {
|
|
2813
2846
|
children: [
|
|
2814
|
-
/* @__PURE__ */ (0,
|
|
2847
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Thread.Messages, {
|
|
2815
2848
|
style: {
|
|
2816
2849
|
paddingTop: "var(--space-5)",
|
|
2817
2850
|
paddingRight: "var(--space-5)",
|
|
2818
2851
|
paddingLeft: "var(--space-5)"
|
|
2819
2852
|
}
|
|
2820
2853
|
}),
|
|
2821
|
-
/* @__PURE__ */ (0,
|
|
2854
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes40.Flex, {
|
|
2822
2855
|
direction: "column",
|
|
2823
2856
|
pl: "5",
|
|
2824
2857
|
pr: "5",
|
|
2825
2858
|
pb: "3",
|
|
2826
2859
|
flexShrink: "0",
|
|
2827
|
-
children: /* @__PURE__ */ (0,
|
|
2860
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Thread.MessageForm, {})
|
|
2828
2861
|
})
|
|
2829
2862
|
]
|
|
2830
2863
|
})
|
|
2831
2864
|
});
|
|
2832
2865
|
};
|
|
2833
|
-
Content4.Root =
|
|
2866
|
+
Content4.Root = Root8;
|
|
2834
2867
|
// src/components/threads/ThreadDialog/index.tsx
|
|
2835
|
-
var
|
|
2868
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
2836
2869
|
var ThreadDialog = function() {
|
|
2837
|
-
return /* @__PURE__ */ (0,
|
|
2870
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Root7, {
|
|
2838
2871
|
children: [
|
|
2839
|
-
/* @__PURE__ */ (0,
|
|
2840
|
-
/* @__PURE__ */ (0,
|
|
2841
|
-
children: /* @__PURE__ */ (0,
|
|
2872
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Content4, {}),
|
|
2873
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Trigger, {
|
|
2874
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button2, {})
|
|
2842
2875
|
})
|
|
2843
2876
|
]
|
|
2844
2877
|
});
|
|
2845
2878
|
};
|
|
2846
|
-
ThreadDialog.Root =
|
|
2879
|
+
ThreadDialog.Root = Root7;
|
|
2847
2880
|
ThreadDialog.Trigger = Trigger;
|
|
2848
2881
|
ThreadDialog.Button = Button2;
|
|
2849
2882
|
ThreadDialog.Content = Content4;
|
|
@@ -2851,8 +2884,8 @@ ThreadDialog.Content = Content4;
|
|
|
2851
2884
|
var import_runtime = require("regenerator-runtime/runtime");
|
|
2852
2885
|
var import_themes41 = require("@radix-ui/themes");
|
|
2853
2886
|
// src/contexts/threads/AudioThreadContext/index.ts
|
|
2854
|
-
var
|
|
2855
|
-
var AudioThreadContext = (0,
|
|
2887
|
+
var import_react40 = require("react");
|
|
2888
|
+
var AudioThreadContext = (0, import_react40.createContext)({
|
|
2856
2889
|
status: "idle",
|
|
2857
2890
|
recorderProps: {
|
|
2858
2891
|
status: "idle",
|
|
@@ -2920,11 +2953,11 @@ var blobToData = function(blob) {
|
|
|
2920
2953
|
});
|
|
2921
2954
|
};
|
|
2922
2955
|
// src/hooks/audioThreads/useStatus/index.ts
|
|
2923
|
-
var
|
|
2956
|
+
var import_react41 = require("react");
|
|
2924
2957
|
var useStatus = function(param) {
|
|
2925
2958
|
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
|
|
2926
2959
|
var latestMessageProps = useLatestMessage();
|
|
2927
|
-
var status = (0,
|
|
2960
|
+
var status = (0, import_react41.useMemo)(function() {
|
|
2928
2961
|
var _latestMessageProps_latestMessage;
|
|
2929
2962
|
if (recorderProps.status === "recording") return "recording";
|
|
2930
2963
|
if (createMessageProps.isPending) return "creatingMessage";
|
|
@@ -2948,19 +2981,19 @@ var useStatus = function(param) {
|
|
|
2948
2981
|
// src/hooks/audioThreads/useRecorder/index.ts
|
|
2949
2982
|
var import_dayjs2 = __toESM(require("dayjs"), 1);
|
|
2950
2983
|
var import_use_audio_capture = require("use-audio-capture");
|
|
2951
|
-
var
|
|
2984
|
+
var import_react42 = require("react");
|
|
2952
2985
|
var import_react_use_audio_player = require("react-use-audio-player");
|
|
2953
2986
|
var import_react_use2 = require("react-use");
|
|
2954
2987
|
var useRecorder = function(param) {
|
|
2955
2988
|
var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
|
|
2956
|
-
var _ref = _sliced_to_array((0,
|
|
2957
|
-
var _ref1 = _sliced_to_array((0,
|
|
2958
|
-
var _ref2 = _sliced_to_array((0,
|
|
2959
|
-
var _ref3 = _sliced_to_array((0,
|
|
2989
|
+
var _ref = _sliced_to_array((0, import_react42.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
|
|
2990
|
+
var _ref1 = _sliced_to_array((0, import_react42.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
|
|
2991
|
+
var _ref2 = _sliced_to_array((0, import_react42.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
|
|
2992
|
+
var _ref3 = _sliced_to_array((0, import_react42.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
|
|
2960
2993
|
var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2961
2994
|
var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2962
|
-
var _ref4 = _sliced_to_array((0,
|
|
2963
|
-
(0,
|
|
2995
|
+
var _ref4 = _sliced_to_array((0, import_react42.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
|
|
2996
|
+
(0, import_react42.useEffect)(function() {
|
|
2964
2997
|
if (isLoaded) return;
|
|
2965
2998
|
setIsLoaded(true);
|
|
2966
2999
|
}, [
|
|
@@ -3018,9 +3051,9 @@ var useRecorder = function(param) {
|
|
|
3018
3051
|
setNoiseStart(null);
|
|
3019
3052
|
}
|
|
3020
3053
|
});
|
|
3021
|
-
var _ref5 = _sliced_to_array((0,
|
|
3022
|
-
var isInited = (0,
|
|
3023
|
-
(0,
|
|
3054
|
+
var _ref5 = _sliced_to_array((0, import_react42.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
|
|
3055
|
+
var isInited = (0, import_react42.useRef)(false);
|
|
3056
|
+
(0, import_react42.useEffect)(function() {
|
|
3024
3057
|
if (!mediaStream) return;
|
|
3025
3058
|
if (isInited.current) return;
|
|
3026
3059
|
isInited.current = true;
|
|
@@ -3033,7 +3066,7 @@ var useRecorder = function(param) {
|
|
|
3033
3066
|
isInited,
|
|
3034
3067
|
mediaStream
|
|
3035
3068
|
]);
|
|
3036
|
-
var visualizationAnalyser = (0,
|
|
3069
|
+
var visualizationAnalyser = (0, import_react42.useMemo)(function() {
|
|
3037
3070
|
if (!audioEngine) return null;
|
|
3038
3071
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3039
3072
|
audioEngine.source.connect(result);
|
|
@@ -3041,7 +3074,7 @@ var useRecorder = function(param) {
|
|
|
3041
3074
|
}, [
|
|
3042
3075
|
audioEngine
|
|
3043
3076
|
]);
|
|
3044
|
-
var silenceAnalyser = (0,
|
|
3077
|
+
var silenceAnalyser = (0, import_react42.useMemo)(function() {
|
|
3045
3078
|
if (!audioEngine) return null;
|
|
3046
3079
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3047
3080
|
result.minDecibels = -60;
|
|
@@ -3050,7 +3083,7 @@ var useRecorder = function(param) {
|
|
|
3050
3083
|
}, [
|
|
3051
3084
|
audioEngine
|
|
3052
3085
|
]);
|
|
3053
|
-
var handleSilence = (0,
|
|
3086
|
+
var handleSilence = (0, import_react42.useCallback)(function() {
|
|
3054
3087
|
if (!silenceAnalyser) return;
|
|
3055
3088
|
var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
|
|
3056
3089
|
silenceAnalyser.getByteFrequencyData(frequencyData);
|
|
@@ -3073,7 +3106,7 @@ var useRecorder = function(param) {
|
|
|
3073
3106
|
setNoiseStart,
|
|
3074
3107
|
setSilenceStart
|
|
3075
3108
|
]);
|
|
3076
|
-
(0,
|
|
3109
|
+
(0, import_react42.useEffect)(function() {
|
|
3077
3110
|
if (!isStopOnSilence) return;
|
|
3078
3111
|
requestAnimationFrame(function() {
|
|
3079
3112
|
return handleSilence();
|
|
@@ -3096,7 +3129,7 @@ var useRecorder = function(param) {
|
|
|
3096
3129
|
});
|
|
3097
3130
|
};
|
|
3098
3131
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
3099
|
-
var
|
|
3132
|
+
var import_react43 = require("react");
|
|
3100
3133
|
var import_compromise = __toESM(require("compromise"), 1);
|
|
3101
3134
|
var import_howler = require("howler");
|
|
3102
3135
|
var import_react_use_audio_player2 = require("react-use-audio-player");
|
|
@@ -3134,15 +3167,15 @@ var getMessageSentences = function(param) {
|
|
|
3134
3167
|
};
|
|
3135
3168
|
var useMessageAudio = function(param) {
|
|
3136
3169
|
var onEnd = param.onEnd;
|
|
3137
|
-
var _ref = _sliced_to_array((0,
|
|
3138
|
-
var _ref1 = _sliced_to_array((0,
|
|
3139
|
-
var _ref2 = _sliced_to_array((0,
|
|
3170
|
+
var _ref = _sliced_to_array((0, import_react43.useState)(false), 2), isAudioPlayed = _ref[0], setIsAudioPlayed = _ref[1];
|
|
3171
|
+
var _ref1 = _sliced_to_array((0, import_react43.useState)([]), 2), stoppedMessageIds = _ref1[0], setStoppedMessageIds = _ref1[1];
|
|
3172
|
+
var _ref2 = _sliced_to_array((0, import_react43.useState)([]), 2), playedMessageSentences = _ref2[0], setPlayedMessageSentences = _ref2[1];
|
|
3140
3173
|
var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
3141
3174
|
var nextAudioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
3142
3175
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
3143
|
-
var _ref3 = _sliced_to_array((0,
|
|
3176
|
+
var _ref3 = _sliced_to_array((0, import_react43.useState)(false), 2), isPlaying = _ref3[0], setIsPlaying = _ref3[1];
|
|
3144
3177
|
var latestMessageProps = useLatestMessage();
|
|
3145
|
-
var unplayedMessageSentences = (0,
|
|
3178
|
+
var unplayedMessageSentences = (0, import_react43.useMemo)(function() {
|
|
3146
3179
|
if (!latestMessageProps.latestMessage) return [];
|
|
3147
3180
|
if (latestMessageProps.latestMessage.role !== "assistant") return [];
|
|
3148
3181
|
if (stoppedMessageIds.includes(latestMessageProps.latestMessage.id)) return [];
|
|
@@ -3163,7 +3196,7 @@ var useMessageAudio = function(param) {
|
|
|
3163
3196
|
latestMessageProps,
|
|
3164
3197
|
playedMessageSentences
|
|
3165
3198
|
]);
|
|
3166
|
-
(0,
|
|
3199
|
+
(0, import_react43.useEffect)(function() {
|
|
3167
3200
|
if (isPlaying) return;
|
|
3168
3201
|
if (audioPlayer.playing) return;
|
|
3169
3202
|
if (!latestMessageProps.latestMessage) return;
|
|
@@ -3231,7 +3264,7 @@ var useMessageAudio = function(param) {
|
|
|
3231
3264
|
playedMessageSentences,
|
|
3232
3265
|
onEnd
|
|
3233
3266
|
]);
|
|
3234
|
-
(0,
|
|
3267
|
+
(0, import_react43.useEffect)(function() {
|
|
3235
3268
|
if (isHtmlAudioSupported) {
|
|
3236
3269
|
var _import_howler_Howler__howls___sounds_, _import_howler_Howler__howls_, _import_howler_Howler;
|
|
3237
3270
|
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;
|
|
@@ -3240,9 +3273,9 @@ var useMessageAudio = function(param) {
|
|
|
3240
3273
|
}, [
|
|
3241
3274
|
audioPlayer
|
|
3242
3275
|
]);
|
|
3243
|
-
var _ref4 = _sliced_to_array((0,
|
|
3244
|
-
var isAudioEngineInited = (0,
|
|
3245
|
-
(0,
|
|
3276
|
+
var _ref4 = _sliced_to_array((0, import_react43.useState)(null), 2), audioEngine = _ref4[0], setAudioEngine = _ref4[1];
|
|
3277
|
+
var isAudioEngineInited = (0, import_react43.useRef)(false);
|
|
3278
|
+
(0, import_react43.useEffect)(function() {
|
|
3246
3279
|
if (!audioPlayer.playing) return;
|
|
3247
3280
|
if (isAudioEngineInited.current) return;
|
|
3248
3281
|
isAudioEngineInited.current = true;
|
|
@@ -3263,7 +3296,7 @@ var useMessageAudio = function(param) {
|
|
|
3263
3296
|
audioPlayer,
|
|
3264
3297
|
isAudioEngineInited
|
|
3265
3298
|
]);
|
|
3266
|
-
var visualizationAnalyser = (0,
|
|
3299
|
+
var visualizationAnalyser = (0, import_react43.useMemo)(function() {
|
|
3267
3300
|
if (!audioEngine) return null;
|
|
3268
3301
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3269
3302
|
audioEngine.source.connect(audioEngine.audioContext.destination);
|
|
@@ -3272,7 +3305,7 @@ var useMessageAudio = function(param) {
|
|
|
3272
3305
|
}, [
|
|
3273
3306
|
audioEngine
|
|
3274
3307
|
]);
|
|
3275
|
-
var isPending = (0,
|
|
3308
|
+
var isPending = (0, import_react43.useMemo)(function() {
|
|
3276
3309
|
return isPlaying || unplayedMessageSentences.length > 0;
|
|
3277
3310
|
}, [
|
|
3278
3311
|
isPlaying,
|
|
@@ -3286,8 +3319,8 @@ var useMessageAudio = function(param) {
|
|
|
3286
3319
|
});
|
|
3287
3320
|
};
|
|
3288
3321
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
3289
|
-
var
|
|
3290
|
-
var
|
|
3322
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3323
|
+
var Root9 = function(param) {
|
|
3291
3324
|
var children = param.children;
|
|
3292
3325
|
var createMessageProps = useCreateMessage();
|
|
3293
3326
|
var recorderProps = useRecorder({
|
|
@@ -3344,13 +3377,13 @@ var Root8 = function(param) {
|
|
|
3344
3377
|
createMessageProps: createMessageProps,
|
|
3345
3378
|
messageAudioProps: messageAudioProps
|
|
3346
3379
|
}).status;
|
|
3347
|
-
return /* @__PURE__ */ (0,
|
|
3380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AudioThreadContext.Provider, {
|
|
3348
3381
|
value: {
|
|
3349
3382
|
status: status,
|
|
3350
3383
|
recorderProps: recorderProps,
|
|
3351
3384
|
messageAudioProps: messageAudioProps
|
|
3352
3385
|
},
|
|
3353
|
-
children: /* @__PURE__ */ (0,
|
|
3386
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Flex, {
|
|
3354
3387
|
direction: "column",
|
|
3355
3388
|
flexGrow: "1",
|
|
3356
3389
|
p: "9",
|
|
@@ -3359,25 +3392,25 @@ var Root8 = function(param) {
|
|
|
3359
3392
|
});
|
|
3360
3393
|
};
|
|
3361
3394
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3362
|
-
var
|
|
3395
|
+
var import_react46 = require("react");
|
|
3363
3396
|
var import_lodash9 = __toESM(require("lodash"), 1);
|
|
3364
3397
|
var import_themes43 = require("@radix-ui/themes");
|
|
3365
3398
|
// src/hooks/threads/useAudioThreadContext/index.ts
|
|
3366
|
-
var
|
|
3399
|
+
var import_react44 = require("react");
|
|
3367
3400
|
var useAudioThreadContext = function() {
|
|
3368
|
-
return (0,
|
|
3401
|
+
return (0, import_react44.useContext)(AudioThreadContext);
|
|
3369
3402
|
};
|
|
3370
3403
|
// src/components/threads/AudioThread/BarsVisualizer/index.tsx
|
|
3371
3404
|
var import_lodash8 = __toESM(require("lodash"), 1);
|
|
3372
3405
|
var import_themes42 = require("@radix-ui/themes");
|
|
3373
|
-
var
|
|
3406
|
+
var import_react45 = require("react");
|
|
3374
3407
|
var import_radash12 = require("radash");
|
|
3375
|
-
var
|
|
3408
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3376
3409
|
var barCount = 4;
|
|
3377
3410
|
var BarsVisualizer = function(param) {
|
|
3378
3411
|
var visualizationAnalyser = param.visualizationAnalyser, backgroundColor = param.backgroundColor, height = param.height, barWidth = param.barWidth;
|
|
3379
|
-
var _ref = _sliced_to_array((0,
|
|
3380
|
-
var draw = (0,
|
|
3412
|
+
var _ref = _sliced_to_array((0, import_react45.useState)([]), 2), barHeights = _ref[0], setBarHeights = _ref[1];
|
|
3413
|
+
var draw = (0, import_react45.useCallback)(function(param) {
|
|
3381
3414
|
var visualizationAnalyser2 = param.visualizationAnalyser;
|
|
3382
3415
|
if (!visualizationAnalyser2) {
|
|
3383
3416
|
setBarHeights(Array(barCount).fill(0));
|
|
@@ -3395,7 +3428,7 @@ var BarsVisualizer = function(param) {
|
|
|
3395
3428
|
});
|
|
3396
3429
|
});
|
|
3397
3430
|
}, []);
|
|
3398
|
-
(0,
|
|
3431
|
+
(0, import_react45.useEffect)(function() {
|
|
3399
3432
|
draw({
|
|
3400
3433
|
visualizationAnalyser: visualizationAnalyser
|
|
3401
3434
|
});
|
|
@@ -3403,7 +3436,7 @@ var BarsVisualizer = function(param) {
|
|
|
3403
3436
|
draw,
|
|
3404
3437
|
visualizationAnalyser
|
|
3405
3438
|
]);
|
|
3406
|
-
return /* @__PURE__ */ (0,
|
|
3439
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Grid, {
|
|
3407
3440
|
columns: "".concat(barCount),
|
|
3408
3441
|
gap: "1",
|
|
3409
3442
|
width: "auto",
|
|
@@ -3412,12 +3445,12 @@ var BarsVisualizer = function(param) {
|
|
|
3412
3445
|
gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
|
|
3413
3446
|
},
|
|
3414
3447
|
children: barHeights.map(function(barHeight, index) {
|
|
3415
|
-
return /* @__PURE__ */ (0,
|
|
3448
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Flex, {
|
|
3416
3449
|
direction: "column",
|
|
3417
3450
|
align: "center",
|
|
3418
3451
|
justify: "center",
|
|
3419
3452
|
height: height,
|
|
3420
|
-
children: /* @__PURE__ */ (0,
|
|
3453
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Flex, {
|
|
3421
3454
|
minHeight: "50%",
|
|
3422
3455
|
maxHeight: "100%",
|
|
3423
3456
|
height: "".concat(barHeight + 20, "%"),
|
|
@@ -3432,12 +3465,12 @@ var BarsVisualizer = function(param) {
|
|
|
3432
3465
|
});
|
|
3433
3466
|
};
|
|
3434
3467
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3435
|
-
var
|
|
3468
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3436
3469
|
var Visualization = function() {
|
|
3437
3470
|
var audioThreadContext = useAudioThreadContext();
|
|
3438
|
-
var assistantNameContext = (0,
|
|
3439
|
-
var _ref = _sliced_to_array((0,
|
|
3440
|
-
var draw = (0,
|
|
3471
|
+
var assistantNameContext = (0, import_react46.useContext)(AssistantNameContext);
|
|
3472
|
+
var _ref = _sliced_to_array((0, import_react46.useState)(0), 2), scale = _ref[0], setScale = _ref[1];
|
|
3473
|
+
var draw = (0, import_react46.useCallback)(function(param) {
|
|
3441
3474
|
var visualizationAnalyser = param.visualizationAnalyser;
|
|
3442
3475
|
if (!visualizationAnalyser) {
|
|
3443
3476
|
setScale(1);
|
|
@@ -3452,7 +3485,7 @@ var Visualization = function() {
|
|
|
3452
3485
|
});
|
|
3453
3486
|
});
|
|
3454
3487
|
}, []);
|
|
3455
|
-
(0,
|
|
3488
|
+
(0, import_react46.useEffect)(function() {
|
|
3456
3489
|
draw({
|
|
3457
3490
|
visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser
|
|
3458
3491
|
});
|
|
@@ -3460,14 +3493,14 @@ var Visualization = function() {
|
|
|
3460
3493
|
draw,
|
|
3461
3494
|
audioThreadContext
|
|
3462
3495
|
]);
|
|
3463
|
-
return /* @__PURE__ */ (0,
|
|
3496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes43.Flex, {
|
|
3464
3497
|
direction: "column",
|
|
3465
3498
|
align: "center",
|
|
3466
3499
|
justify: "center",
|
|
3467
3500
|
mb: "3",
|
|
3468
3501
|
flexGrow: "1",
|
|
3469
3502
|
children: [
|
|
3470
|
-
/* @__PURE__ */ (0,
|
|
3503
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.Flex, {
|
|
3471
3504
|
align: "center",
|
|
3472
3505
|
justify: "center",
|
|
3473
3506
|
height: "200px",
|
|
@@ -3477,20 +3510,20 @@ var Visualization = function() {
|
|
|
3477
3510
|
borderRadius: "9999px",
|
|
3478
3511
|
scale: scale
|
|
3479
3512
|
},
|
|
3480
|
-
children: /* @__PURE__ */ (0,
|
|
3513
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BarsVisualizer, {
|
|
3481
3514
|
visualizationAnalyser: audioThreadContext.messageAudioProps.visualizationAnalyser,
|
|
3482
3515
|
backgroundColor: audioThreadContext.status === "playing" ? "var(--accent-11)" : "var(--gray-11)",
|
|
3483
3516
|
height: "40px",
|
|
3484
3517
|
barWidth: "24px"
|
|
3485
3518
|
})
|
|
3486
3519
|
}),
|
|
3487
|
-
/* @__PURE__ */ (0,
|
|
3520
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes43.Flex, {
|
|
3488
3521
|
ml: "-22.5px",
|
|
3489
3522
|
gap: "3",
|
|
3490
3523
|
pt: "5",
|
|
3491
3524
|
children: [
|
|
3492
|
-
/* @__PURE__ */ (0,
|
|
3493
|
-
/* @__PURE__ */ (0,
|
|
3525
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(AssistantAvatar, {}),
|
|
3526
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Name, {
|
|
3494
3527
|
children: assistantNameContext
|
|
3495
3528
|
})
|
|
3496
3529
|
]
|
|
@@ -3500,7 +3533,7 @@ var Visualization = function() {
|
|
|
3500
3533
|
};
|
|
3501
3534
|
// src/components/threads/AudioThread/Status/StatusMessages.tsx
|
|
3502
3535
|
var import_themes44 = require("@radix-ui/themes");
|
|
3503
|
-
var
|
|
3536
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3504
3537
|
var html = function(param) {
|
|
3505
3538
|
var texts = param.texts;
|
|
3506
3539
|
return "\n .status-messages-texts:after {\n content: '".concat(texts[0], "';\n animation: texts ").concat(texts.length * 5, "s linear infinite;\n }\n\n @keyframes texts {\n ").concat(texts.map(function(_10, i) {
|
|
@@ -3509,17 +3542,17 @@ var html = function(param) {
|
|
|
3509
3542
|
};
|
|
3510
3543
|
var StatusMessages = function(param) {
|
|
3511
3544
|
var texts = param.texts;
|
|
3512
|
-
return /* @__PURE__ */ (0,
|
|
3545
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_themes44.Flex, {
|
|
3513
3546
|
justify: "center",
|
|
3514
3547
|
pb: "5",
|
|
3515
3548
|
children: [
|
|
3516
|
-
/* @__PURE__ */ (0,
|
|
3549
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Text, {
|
|
3517
3550
|
size: "2",
|
|
3518
3551
|
weight: "regular",
|
|
3519
3552
|
color: "gray",
|
|
3520
3553
|
className: "status-messages-texts"
|
|
3521
3554
|
}),
|
|
3522
|
-
/* @__PURE__ */ (0,
|
|
3555
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("style", {
|
|
3523
3556
|
dangerouslySetInnerHTML: {
|
|
3524
3557
|
__html: html({
|
|
3525
3558
|
texts: texts
|
|
@@ -3530,11 +3563,11 @@ var StatusMessages = function(param) {
|
|
|
3530
3563
|
});
|
|
3531
3564
|
};
|
|
3532
3565
|
// src/components/threads/AudioThread/Status/index.tsx
|
|
3533
|
-
var
|
|
3566
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
3534
3567
|
var Status = function() {
|
|
3535
3568
|
var audioThreadContext = useAudioThreadContext();
|
|
3536
3569
|
if (audioThreadContext.status === "recording") {
|
|
3537
|
-
return /* @__PURE__ */ (0,
|
|
3570
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StatusMessages, {
|
|
3538
3571
|
texts: [
|
|
3539
3572
|
"Start speaking",
|
|
3540
3573
|
"Listening",
|
|
@@ -3548,20 +3581,20 @@ var Status = function() {
|
|
|
3548
3581
|
"idle",
|
|
3549
3582
|
"playerPaused"
|
|
3550
3583
|
].includes(audioThreadContext.status)) {
|
|
3551
|
-
return /* @__PURE__ */ (0,
|
|
3584
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StatusMessages, {
|
|
3552
3585
|
texts: [
|
|
3553
3586
|
"Click the button below to activate"
|
|
3554
3587
|
]
|
|
3555
3588
|
});
|
|
3556
3589
|
}
|
|
3557
3590
|
if (audioThreadContext.status === "playing") {
|
|
3558
|
-
return /* @__PURE__ */ (0,
|
|
3591
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StatusMessages, {
|
|
3559
3592
|
texts: [
|
|
3560
3593
|
"Click the button below to interrupt"
|
|
3561
3594
|
]
|
|
3562
3595
|
});
|
|
3563
3596
|
}
|
|
3564
|
-
return /* @__PURE__ */ (0,
|
|
3597
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StatusMessages, {
|
|
3565
3598
|
texts: [
|
|
3566
3599
|
"Thinking"
|
|
3567
3600
|
]
|
|
@@ -3570,9 +3603,9 @@ var Status = function() {
|
|
|
3570
3603
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3571
3604
|
var import_themes46 = require("@radix-ui/themes");
|
|
3572
3605
|
// src/components/threads/AudioThread/Form/MicIcon.tsx
|
|
3573
|
-
var
|
|
3606
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
3574
3607
|
var MicIcon = function(props) {
|
|
3575
|
-
return /* @__PURE__ */ (0,
|
|
3608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("svg", _object_spread_props(_object_spread({
|
|
3576
3609
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3577
3610
|
fill: "currentColor",
|
|
3578
3611
|
stroke: "currentColor",
|
|
@@ -3581,7 +3614,7 @@ var MicIcon = function(props) {
|
|
|
3581
3614
|
height: "15",
|
|
3582
3615
|
width: "15"
|
|
3583
3616
|
}, props), {
|
|
3584
|
-
children: /* @__PURE__ */ (0,
|
|
3617
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("path", {
|
|
3585
3618
|
stroke: "none",
|
|
3586
3619
|
d: "M192 0c-53 0-96 43-96 96v160c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464h-48c-13.3 0-24 10.7-24 24s10.7 24 24 24h144c13.3 0 24-10.7 24-24s-10.7-24-24-24h-48v-33.6c85.8-11.7 152-85.3 152-174.4v-40c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128S64 326.7 64 256v-40z"
|
|
3587
3620
|
})
|
|
@@ -3590,45 +3623,45 @@ var MicIcon = function(props) {
|
|
|
3590
3623
|
// src/components/threads/AudioThread/Form/ActionButton/index.tsx
|
|
3591
3624
|
var import_themes45 = require("@radix-ui/themes");
|
|
3592
3625
|
var import_react_icons9 = require("@radix-ui/react-icons");
|
|
3593
|
-
var
|
|
3626
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
3594
3627
|
var ActionButton = function() {
|
|
3595
3628
|
var audioThreadContext = useAudioThreadContext();
|
|
3596
3629
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
3597
3630
|
if (audioThreadContext.status === "recording") {
|
|
3598
|
-
return /* @__PURE__ */ (0,
|
|
3631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes45.Flex, {
|
|
3599
3632
|
align: "center",
|
|
3600
3633
|
children: [
|
|
3601
|
-
/* @__PURE__ */ (0,
|
|
3634
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.Flex, {
|
|
3602
3635
|
mr: "3",
|
|
3603
3636
|
ml: "-7",
|
|
3604
|
-
children: /* @__PURE__ */ (0,
|
|
3637
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.IconButton, {
|
|
3605
3638
|
onClick: audioThreadContext.recorderProps.pause,
|
|
3606
3639
|
color: "gray",
|
|
3607
3640
|
variant: "soft",
|
|
3608
3641
|
size: "1",
|
|
3609
|
-
children: /* @__PURE__ */ (0,
|
|
3642
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_icons9.PauseIcon, {})
|
|
3610
3643
|
})
|
|
3611
3644
|
}),
|
|
3612
|
-
/* @__PURE__ */ (0,
|
|
3645
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.IconButton, {
|
|
3613
3646
|
onClick: audioThreadContext.recorderProps.stop,
|
|
3614
3647
|
highContrast: true,
|
|
3615
3648
|
variant: "soft",
|
|
3616
3649
|
size: "4",
|
|
3617
|
-
children: /* @__PURE__ */ (0,
|
|
3650
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_icons9.ArrowUpIcon, {})
|
|
3618
3651
|
})
|
|
3619
3652
|
]
|
|
3620
3653
|
});
|
|
3621
3654
|
}
|
|
3622
3655
|
if (audioThreadContext.status === "recorderPaused") {
|
|
3623
|
-
return /* @__PURE__ */ (0,
|
|
3656
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.IconButton, {
|
|
3624
3657
|
onClick: audioThreadContext.recorderProps.resume,
|
|
3625
3658
|
color: "red",
|
|
3626
3659
|
size: "4",
|
|
3627
|
-
children: /* @__PURE__ */ (0,
|
|
3660
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_icons9.ResumeIcon, {})
|
|
3628
3661
|
});
|
|
3629
3662
|
}
|
|
3630
3663
|
if (audioThreadContext.status === "idle") {
|
|
3631
|
-
return /* @__PURE__ */ (0,
|
|
3664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.IconButton, {
|
|
3632
3665
|
onClick: function() {
|
|
3633
3666
|
return audioThreadContext.recorderProps.start();
|
|
3634
3667
|
},
|
|
@@ -3637,7 +3670,7 @@ var ActionButton = function() {
|
|
|
3637
3670
|
});
|
|
3638
3671
|
}
|
|
3639
3672
|
if (audioThreadContext.status === "playing") {
|
|
3640
|
-
return /* @__PURE__ */ (0,
|
|
3673
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.IconButton, {
|
|
3641
3674
|
onClick: function() {
|
|
3642
3675
|
var _superinterfaceContext_createMessageAbortControllerRef_current;
|
|
3643
3676
|
audioThreadContext.messageAudioProps.stop();
|
|
@@ -3647,54 +3680,54 @@ var ActionButton = function() {
|
|
|
3647
3680
|
size: "4",
|
|
3648
3681
|
color: "gray",
|
|
3649
3682
|
variant: "soft",
|
|
3650
|
-
children: /* @__PURE__ */ (0,
|
|
3683
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_icons9.StopIcon, {})
|
|
3651
3684
|
});
|
|
3652
3685
|
}
|
|
3653
3686
|
if (audioThreadContext.status === "playerPaused") {
|
|
3654
|
-
return /* @__PURE__ */ (0,
|
|
3687
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.IconButton, {
|
|
3655
3688
|
onClick: function() {
|
|
3656
3689
|
return audioThreadContext.messageAudioProps.play();
|
|
3657
3690
|
},
|
|
3658
3691
|
size: "4",
|
|
3659
|
-
children: /* @__PURE__ */ (0,
|
|
3692
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_icons9.ResumeIcon, {})
|
|
3660
3693
|
});
|
|
3661
3694
|
}
|
|
3662
|
-
return /* @__PURE__ */ (0,
|
|
3695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.IconButton, {
|
|
3663
3696
|
size: "4",
|
|
3664
3697
|
variant: "soft",
|
|
3665
3698
|
disabled: true
|
|
3666
3699
|
});
|
|
3667
3700
|
};
|
|
3668
3701
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3669
|
-
var
|
|
3702
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
3670
3703
|
var Form = function() {
|
|
3671
3704
|
var audioThreadContext = useAudioThreadContext();
|
|
3672
|
-
return /* @__PURE__ */ (0,
|
|
3705
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes46.Flex, {
|
|
3673
3706
|
direction: "column",
|
|
3674
3707
|
align: "center",
|
|
3675
3708
|
children: [
|
|
3676
|
-
/* @__PURE__ */ (0,
|
|
3709
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes46.Flex, {
|
|
3677
3710
|
pb: "3",
|
|
3678
3711
|
align: "center",
|
|
3679
3712
|
children: [
|
|
3680
|
-
/* @__PURE__ */ (0,
|
|
3713
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes46.Flex, {
|
|
3681
3714
|
ml: "-22.5px",
|
|
3682
3715
|
mr: "2",
|
|
3683
3716
|
align: "center",
|
|
3684
|
-
children: /* @__PURE__ */ (0,
|
|
3717
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(MicIcon, {
|
|
3685
3718
|
style: {
|
|
3686
3719
|
color: audioThreadContext.status === "recording" ? "var(--accent-11)" : "var(--gray-11)"
|
|
3687
3720
|
}
|
|
3688
3721
|
})
|
|
3689
3722
|
}),
|
|
3690
|
-
/* @__PURE__ */ (0,
|
|
3723
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes46.Flex, {
|
|
3691
3724
|
px: "2",
|
|
3692
3725
|
py: "1",
|
|
3693
3726
|
style: {
|
|
3694
3727
|
backgroundColor: audioThreadContext.status === "recording" ? "var(--accent-4)" : "var(--gray-4)",
|
|
3695
3728
|
borderRadius: "var(--radius-6)"
|
|
3696
3729
|
},
|
|
3697
|
-
children: /* @__PURE__ */ (0,
|
|
3730
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(BarsVisualizer, {
|
|
3698
3731
|
visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser,
|
|
3699
3732
|
backgroundColor: audioThreadContext.status === "recording" ? "var(--accent-11)" : "var(--gray-11)",
|
|
3700
3733
|
height: "20px",
|
|
@@ -3703,57 +3736,57 @@ var Form = function() {
|
|
|
3703
3736
|
})
|
|
3704
3737
|
]
|
|
3705
3738
|
}),
|
|
3706
|
-
/* @__PURE__ */ (0,
|
|
3739
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ActionButton, {})
|
|
3707
3740
|
]
|
|
3708
3741
|
});
|
|
3709
3742
|
};
|
|
3710
3743
|
// src/components/threads/AudioThread/index.tsx
|
|
3711
|
-
var
|
|
3744
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
3712
3745
|
var AudioThread = function(props) {
|
|
3713
|
-
return /* @__PURE__ */ (0,
|
|
3746
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Root9, _object_spread_props(_object_spread({}, props), {
|
|
3714
3747
|
children: [
|
|
3715
|
-
/* @__PURE__ */ (0,
|
|
3716
|
-
/* @__PURE__ */ (0,
|
|
3717
|
-
/* @__PURE__ */ (0,
|
|
3748
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Visualization, {}),
|
|
3749
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Status, {}),
|
|
3750
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Form, {})
|
|
3718
3751
|
]
|
|
3719
3752
|
}));
|
|
3720
3753
|
};
|
|
3721
|
-
AudioThread.Root =
|
|
3754
|
+
AudioThread.Root = Root9;
|
|
3722
3755
|
AudioThread.Visualization = Visualization;
|
|
3723
3756
|
AudioThread.Form = Form;
|
|
3724
3757
|
// src/components/threads/AudioThreadDialog/index.tsx
|
|
3725
|
-
var
|
|
3758
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
3726
3759
|
var AudioThreadDialog = function() {
|
|
3727
|
-
return /* @__PURE__ */ (0,
|
|
3760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Root7, {
|
|
3728
3761
|
children: [
|
|
3729
|
-
/* @__PURE__ */ (0,
|
|
3730
|
-
children: /* @__PURE__ */ (0,
|
|
3762
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Content4.Root, {
|
|
3763
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(AudioThread, {})
|
|
3731
3764
|
}),
|
|
3732
|
-
/* @__PURE__ */ (0,
|
|
3733
|
-
children: /* @__PURE__ */ (0,
|
|
3765
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Trigger, {
|
|
3766
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button2, {})
|
|
3734
3767
|
})
|
|
3735
3768
|
]
|
|
3736
3769
|
});
|
|
3737
3770
|
};
|
|
3738
|
-
AudioThreadDialog.Root =
|
|
3771
|
+
AudioThreadDialog.Root = Root7;
|
|
3739
3772
|
AudioThreadDialog.Trigger = Trigger;
|
|
3740
3773
|
AudioThreadDialog.Button = Button2;
|
|
3741
3774
|
AudioThreadDialog.Content = Content4;
|
|
3742
3775
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3743
|
-
var
|
|
3776
|
+
var import_react48 = require("react");
|
|
3744
3777
|
// src/components/suggestions/Suggestions/Content.tsx
|
|
3745
|
-
var
|
|
3778
|
+
var import_react47 = require("react");
|
|
3746
3779
|
var import_radash13 = require("radash");
|
|
3747
3780
|
var import_react_children_utilities = require("react-children-utilities");
|
|
3748
3781
|
var import_themes48 = require("@radix-ui/themes");
|
|
3749
3782
|
// src/components/suggestions/Suggestions/Item.tsx
|
|
3750
3783
|
var import_react_icons10 = require("@radix-ui/react-icons");
|
|
3751
3784
|
var import_themes47 = require("@radix-ui/themes");
|
|
3752
|
-
var
|
|
3785
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
3753
3786
|
var Item = function(param) {
|
|
3754
3787
|
var suggestion = param.suggestion, isDisabled = param.isDisabled;
|
|
3755
3788
|
var _useCreateMessage = useCreateMessage(), createMessage = _useCreateMessage.createMessage, isPending = _useCreateMessage.isPending;
|
|
3756
|
-
return /* @__PURE__ */ (0,
|
|
3789
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Content5, {
|
|
3757
3790
|
onClick: function() {
|
|
3758
3791
|
createMessage({
|
|
3759
3792
|
// @ts-ignore-next-line
|
|
@@ -3767,7 +3800,7 @@ var Item = function(param) {
|
|
|
3767
3800
|
};
|
|
3768
3801
|
var Content5 = function(param) {
|
|
3769
3802
|
var onClick = param.onClick, isDisabled = param.isDisabled, isPending = param.isPending, children = param.children;
|
|
3770
|
-
return /* @__PURE__ */ (0,
|
|
3803
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes47.Button, {
|
|
3771
3804
|
variant: "soft",
|
|
3772
3805
|
onClick: onClick,
|
|
3773
3806
|
disabled: isDisabled,
|
|
@@ -3777,14 +3810,14 @@ var Content5 = function(param) {
|
|
|
3777
3810
|
flexShrink: 1
|
|
3778
3811
|
},
|
|
3779
3812
|
children: [
|
|
3780
|
-
/* @__PURE__ */ (0,
|
|
3813
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes47.Text, {
|
|
3781
3814
|
size: "1",
|
|
3782
3815
|
weight: "regular",
|
|
3783
3816
|
children: children
|
|
3784
3817
|
}),
|
|
3785
|
-
/* @__PURE__ */ (0,
|
|
3818
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes47.Spinner, {
|
|
3786
3819
|
loading: isPending,
|
|
3787
|
-
children: /* @__PURE__ */ (0,
|
|
3820
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react_icons10.ArrowUpIcon, {
|
|
3788
3821
|
style: {
|
|
3789
3822
|
flexShrink: 0
|
|
3790
3823
|
}
|
|
@@ -3795,11 +3828,11 @@ var Content5 = function(param) {
|
|
|
3795
3828
|
};
|
|
3796
3829
|
Item.Content = Content5;
|
|
3797
3830
|
// src/components/suggestions/Suggestions/Content.tsx
|
|
3798
|
-
var
|
|
3831
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
3799
3832
|
var Content6 = function(param) {
|
|
3800
3833
|
var children = param.children;
|
|
3801
3834
|
var isMutatingMessage = useIsMutatingMessage();
|
|
3802
|
-
var suggestions = (0,
|
|
3835
|
+
var suggestions = (0, import_react47.useMemo)(function() {
|
|
3803
3836
|
return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
|
|
3804
3837
|
return !(0, import_radash13.isEmpty)(c);
|
|
3805
3838
|
}).map(function(c) {
|
|
@@ -3809,12 +3842,12 @@ var Content6 = function(param) {
|
|
|
3809
3842
|
children
|
|
3810
3843
|
]);
|
|
3811
3844
|
if ((0, import_radash13.isEmpty)(suggestions)) return null;
|
|
3812
|
-
return /* @__PURE__ */ (0,
|
|
3845
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_themes48.Flex, {
|
|
3813
3846
|
gap: "2",
|
|
3814
3847
|
py: "2",
|
|
3815
3848
|
wrap: "wrap",
|
|
3816
3849
|
children: suggestions.map(function(suggestion) {
|
|
3817
|
-
return /* @__PURE__ */ (0,
|
|
3850
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Item, {
|
|
3818
3851
|
suggestion: suggestion,
|
|
3819
3852
|
isDisabled: isMutatingMessage
|
|
3820
3853
|
}, suggestion);
|
|
@@ -3822,11 +3855,11 @@ var Content6 = function(param) {
|
|
|
3822
3855
|
});
|
|
3823
3856
|
};
|
|
3824
3857
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3825
|
-
var
|
|
3858
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
3826
3859
|
var Suggestions = function(param) {
|
|
3827
3860
|
var children = param.children;
|
|
3828
3861
|
var latestMessageProps = useLatestMessage();
|
|
3829
|
-
var isDisabled = (0,
|
|
3862
|
+
var isDisabled = (0, import_react48.useMemo)(function() {
|
|
3830
3863
|
var // @ts-ignore-next-line
|
|
3831
3864
|
_latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
3832
3865
|
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;
|
|
@@ -3835,26 +3868,51 @@ var Suggestions = function(param) {
|
|
|
3835
3868
|
]);
|
|
3836
3869
|
if (latestMessageProps.isLoading) return null;
|
|
3837
3870
|
if (isDisabled) return null;
|
|
3838
|
-
return /* @__PURE__ */ (0,
|
|
3871
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Content6, {
|
|
3839
3872
|
children: children
|
|
3840
3873
|
});
|
|
3841
3874
|
};
|
|
3842
3875
|
Suggestions.Item = Item;
|
|
3843
3876
|
// src/components/markdown/MarkdownProvider/index.tsx
|
|
3844
|
-
var
|
|
3845
|
-
var
|
|
3877
|
+
var import_react49 = require("react");
|
|
3878
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
3846
3879
|
var MarkdownProvider = function(_param) {
|
|
3847
3880
|
var children = _param.children, rest = _object_without_properties(_param, [
|
|
3848
3881
|
"children"
|
|
3849
3882
|
]);
|
|
3850
3883
|
var prevMarkdownContext = useMarkdownContext();
|
|
3851
|
-
var value = (0,
|
|
3884
|
+
var value = (0, import_react49.useMemo)(function() {
|
|
3852
3885
|
return merge(prevMarkdownContext, rest);
|
|
3853
3886
|
}, [
|
|
3854
3887
|
rest,
|
|
3855
3888
|
prevMarkdownContext
|
|
3856
3889
|
]);
|
|
3857
|
-
return /* @__PURE__ */ (0,
|
|
3890
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(MarkdownContext.Provider, {
|
|
3891
|
+
value: value,
|
|
3892
|
+
children: children
|
|
3893
|
+
});
|
|
3894
|
+
};
|
|
3895
|
+
// src/components/components/ComponentsProvider.tsx
|
|
3896
|
+
var import_react51 = require("react");
|
|
3897
|
+
// src/hooks/components/useComponents.ts
|
|
3898
|
+
var import_react50 = require("react");
|
|
3899
|
+
var useComponents = function() {
|
|
3900
|
+
return (0, import_react50.useContext)(ComponentsContext);
|
|
3901
|
+
};
|
|
3902
|
+
// src/components/components/ComponentsProvider.tsx
|
|
3903
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
3904
|
+
var ComponentsProvider = function(_param) {
|
|
3905
|
+
var children = _param.children, rest = _object_without_properties(_param, [
|
|
3906
|
+
"children"
|
|
3907
|
+
]);
|
|
3908
|
+
var prevComponents = useComponents();
|
|
3909
|
+
var value = (0, import_react51.useMemo)(function() {
|
|
3910
|
+
return merge(prevComponents, rest);
|
|
3911
|
+
}, [
|
|
3912
|
+
rest,
|
|
3913
|
+
prevComponents
|
|
3914
|
+
]);
|
|
3915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ComponentsContext.Provider, {
|
|
3858
3916
|
value: value,
|
|
3859
3917
|
children: children
|
|
3860
3918
|
});
|
|
@@ -3865,15 +3923,18 @@ var MarkdownProvider = function(_param) {
|
|
|
3865
3923
|
AssistantNameContext: AssistantNameContext,
|
|
3866
3924
|
AudioThread: AudioThread,
|
|
3867
3925
|
AudioThreadDialog: AudioThreadDialog,
|
|
3926
|
+
ComponentsProvider: ComponentsProvider,
|
|
3868
3927
|
FunctionBase: FunctionBase,
|
|
3869
3928
|
FunctionComponentsContext: FunctionComponentsContext,
|
|
3870
3929
|
MarkdownContext: MarkdownContext,
|
|
3871
3930
|
MarkdownProvider: MarkdownProvider,
|
|
3931
|
+
RunStep: RunStep,
|
|
3872
3932
|
Suggestions: Suggestions,
|
|
3873
3933
|
SuperinterfaceProvider: SuperinterfaceProvider,
|
|
3874
3934
|
Thread: Thread,
|
|
3875
3935
|
ThreadDialog: ThreadDialog,
|
|
3876
3936
|
ThreadDialogContext: ThreadDialogContext,
|
|
3937
|
+
useComponents: useComponents,
|
|
3877
3938
|
useCreateMessage: useCreateMessage,
|
|
3878
3939
|
useLatestMessage: useLatestMessage,
|
|
3879
3940
|
useMarkdownContext: useMarkdownContext,
|