@superinterface/react 2.15.9 → 2.16.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 +901 -491
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +57 -15
- package/dist/index.d.ts +57 -15
- package/dist/index.js +839 -429
- package/dist/index.js.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +2 -1
- package/dist/types/index.d.ts +2 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -505,7 +505,7 @@ var SuperinterfaceProvider = function(param) {
|
|
|
505
505
|
});
|
|
506
506
|
};
|
|
507
507
|
// src/components/threads/Thread/Messages/index.tsx
|
|
508
|
-
var
|
|
508
|
+
var import_themes31 = require("@radix-ui/themes");
|
|
509
509
|
// src/components/threads/Thread/Messages/Content/index.tsx
|
|
510
510
|
var import_react26 = require("react");
|
|
511
511
|
// src/hooks/messages/useMessages/index.tsx
|
|
@@ -819,7 +819,7 @@ var useToasts = function() {
|
|
|
819
819
|
};
|
|
820
820
|
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
821
821
|
var import_react25 = require("react");
|
|
822
|
-
var
|
|
822
|
+
var import_themes28 = require("@radix-ui/themes");
|
|
823
823
|
// src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
|
|
824
824
|
var import_react11 = require("react");
|
|
825
825
|
var import_themes5 = require("@radix-ui/themes");
|
|
@@ -878,11 +878,11 @@ var UserAvatar = function() {
|
|
|
878
878
|
});
|
|
879
879
|
};
|
|
880
880
|
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
881
|
-
var
|
|
881
|
+
var import_themes27 = require("@radix-ui/themes");
|
|
882
882
|
// src/components/threads/Thread/Message/index.tsx
|
|
883
883
|
var import_react24 = require("react");
|
|
884
884
|
var import_radash3 = require("radash");
|
|
885
|
-
var
|
|
885
|
+
var import_themes26 = require("@radix-ui/themes");
|
|
886
886
|
// src/components/skeletons/StartingContentSkeleton/index.tsx
|
|
887
887
|
var import_themes8 = require("@radix-ui/themes");
|
|
888
888
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
@@ -899,13 +899,11 @@ var StartingContentSkeleton = function() {
|
|
|
899
899
|
});
|
|
900
900
|
};
|
|
901
901
|
// src/components/runSteps/RunSteps/index.tsx
|
|
902
|
-
var
|
|
902
|
+
var import_themes15 = require("@radix-ui/themes");
|
|
903
903
|
var import_react19 = require("react");
|
|
904
904
|
// src/contexts/components/ComponentsContext/index.tsx
|
|
905
905
|
var import_react18 = require("react");
|
|
906
906
|
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
907
|
-
var import_themes16 = require("@radix-ui/themes");
|
|
908
|
-
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
909
907
|
var import_themes14 = require("@radix-ui/themes");
|
|
910
908
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
|
|
911
909
|
var import_react17 = require("react");
|
|
@@ -922,16 +920,14 @@ var ToolCallBase = function(param) {
|
|
|
922
920
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Flex, {
|
|
923
921
|
py: "1",
|
|
924
922
|
ml: "-2",
|
|
925
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
children: children
|
|
934
|
-
})
|
|
923
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Button, {
|
|
924
|
+
size: "1",
|
|
925
|
+
color: "gold",
|
|
926
|
+
variant: "outline",
|
|
927
|
+
style: {
|
|
928
|
+
boxShadow: "none"
|
|
929
|
+
},
|
|
930
|
+
children: children
|
|
935
931
|
})
|
|
936
932
|
});
|
|
937
933
|
};
|
|
@@ -945,10 +941,10 @@ var ToolCallTitle = function(param) {
|
|
|
945
941
|
children: children
|
|
946
942
|
});
|
|
947
943
|
};
|
|
948
|
-
// src/components/
|
|
944
|
+
// src/components/toolCalls/ToolCallBase/ToolCallIcon.tsx
|
|
949
945
|
var import_react_icons3 = require("@radix-ui/react-icons");
|
|
950
946
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
951
|
-
var
|
|
947
|
+
var ToolCallIcon = function(param) {
|
|
952
948
|
var runStep = param.runStep;
|
|
953
949
|
if (runStep.completed_at) {
|
|
954
950
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_icons3.CheckCircledIcon, {});
|
|
@@ -1015,15 +1011,17 @@ var FunctionBase = function(param) {
|
|
|
1015
1011
|
var fn = param.fn, runStep = param.runStep, title2 = param.title;
|
|
1016
1012
|
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_themes12.Popover.Root, {
|
|
1017
1013
|
children: [
|
|
1018
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.
|
|
1019
|
-
children:
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1014
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_themes12.Popover.Trigger, {
|
|
1015
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(ToolCallBase, {
|
|
1016
|
+
children: [
|
|
1017
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ToolCallIcon, {
|
|
1018
|
+
runStep: runStep
|
|
1019
|
+
}),
|
|
1020
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ToolCallTitle, {
|
|
1021
|
+
children: title2
|
|
1022
|
+
})
|
|
1023
|
+
]
|
|
1024
|
+
})
|
|
1027
1025
|
}),
|
|
1028
1026
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_themes12.Popover.Content, {
|
|
1029
1027
|
style: {
|
|
@@ -1072,55 +1070,101 @@ var Fn = function(param) {
|
|
|
1072
1070
|
runStep: runStep
|
|
1073
1071
|
});
|
|
1074
1072
|
};
|
|
1075
|
-
// src/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter
|
|
1076
|
-
var import_themes13 = require("@radix-ui/themes");
|
|
1073
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter.tsx
|
|
1077
1074
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1078
1075
|
var CodeInterpreter = function(param) {
|
|
1079
|
-
var
|
|
1080
|
-
return /* @__PURE__ */ (0, import_jsx_runtime17.
|
|
1081
|
-
children:
|
|
1076
|
+
var runStep = param.runStep, toolCall = param.toolCall;
|
|
1077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(ToolCallBase, {
|
|
1078
|
+
children: [
|
|
1079
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCallIcon, {
|
|
1080
|
+
runStep: runStep
|
|
1081
|
+
}),
|
|
1082
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCallTitle, {
|
|
1083
|
+
children: "Using code interpreter"
|
|
1084
|
+
})
|
|
1085
|
+
]
|
|
1082
1086
|
});
|
|
1083
1087
|
};
|
|
1084
|
-
// src/components/runSteps/RunStep/ToolCalls/ToolCall/
|
|
1088
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/FileSearch.tsx
|
|
1085
1089
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1090
|
+
var FileSearch = function(param) {
|
|
1091
|
+
var runStep = param.runStep, toolCall = param.toolCall;
|
|
1092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(ToolCallBase, {
|
|
1093
|
+
children: [
|
|
1094
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCallIcon, {
|
|
1095
|
+
runStep: runStep
|
|
1096
|
+
}),
|
|
1097
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCallTitle, {
|
|
1098
|
+
children: "Searching files"
|
|
1099
|
+
})
|
|
1100
|
+
]
|
|
1101
|
+
});
|
|
1102
|
+
};
|
|
1103
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fallback.tsx
|
|
1104
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1105
|
+
var Fallback = function(param) {
|
|
1106
|
+
var runStep = param.runStep, toolCall = param.toolCall;
|
|
1107
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(ToolCallBase, {
|
|
1108
|
+
children: [
|
|
1109
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ToolCallIcon, {
|
|
1110
|
+
runStep: runStep
|
|
1111
|
+
}),
|
|
1112
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(ToolCallTitle, {
|
|
1113
|
+
children: [
|
|
1114
|
+
"Using tool: ",
|
|
1115
|
+
toolCall.type
|
|
1116
|
+
]
|
|
1117
|
+
})
|
|
1118
|
+
]
|
|
1119
|
+
});
|
|
1120
|
+
};
|
|
1121
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
1122
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1086
1123
|
var ToolCall = function(param) {
|
|
1087
1124
|
var toolCall = param.toolCall, runStep = param.runStep;
|
|
1088
1125
|
if (toolCall.type === "function") {
|
|
1089
|
-
return /* @__PURE__ */ (0,
|
|
1126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Fn, {
|
|
1090
1127
|
fn: toolCall.function,
|
|
1091
1128
|
runStep: runStep
|
|
1092
1129
|
});
|
|
1093
1130
|
}
|
|
1094
1131
|
if (toolCall.type === "code_interpreter") {
|
|
1095
|
-
return /* @__PURE__ */ (0,
|
|
1096
|
-
|
|
1132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CodeInterpreter, {
|
|
1133
|
+
toolCall: toolCall,
|
|
1134
|
+
runStep: runStep
|
|
1135
|
+
});
|
|
1136
|
+
}
|
|
1137
|
+
if (toolCall.type === "file_search") {
|
|
1138
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(FileSearch, {
|
|
1139
|
+
toolCall: toolCall,
|
|
1097
1140
|
runStep: runStep
|
|
1098
1141
|
});
|
|
1099
1142
|
}
|
|
1100
|
-
return /* @__PURE__ */ (0,
|
|
1101
|
-
|
|
1143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Fallback, {
|
|
1144
|
+
toolCall: toolCall,
|
|
1145
|
+
runStep: runStep
|
|
1102
1146
|
});
|
|
1103
1147
|
};
|
|
1104
1148
|
// src/components/runSteps/RunStep/ToolCalls/Starting/index.tsx
|
|
1105
|
-
var
|
|
1149
|
+
var import_themes13 = require("@radix-ui/themes");
|
|
1106
1150
|
var import_react_icons4 = require("@radix-ui/react-icons");
|
|
1107
|
-
var
|
|
1151
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1108
1152
|
var Starting = function() {
|
|
1109
|
-
return /* @__PURE__ */ (0,
|
|
1153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_themes13.Popover.Root, {
|
|
1110
1154
|
children: [
|
|
1111
|
-
/* @__PURE__ */ (0,
|
|
1155
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(ToolCallBase, {
|
|
1112
1156
|
children: [
|
|
1113
|
-
/* @__PURE__ */ (0,
|
|
1114
|
-
/* @__PURE__ */ (0,
|
|
1157
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_icons4.CircleIcon, {}),
|
|
1158
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ToolCallTitle, {
|
|
1115
1159
|
children: "Starting actions"
|
|
1116
1160
|
})
|
|
1117
1161
|
]
|
|
1118
1162
|
}),
|
|
1119
|
-
/* @__PURE__ */ (0,
|
|
1163
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes13.Popover.Content, {
|
|
1120
1164
|
style: {
|
|
1121
1165
|
maxHeight: "500px"
|
|
1122
1166
|
},
|
|
1123
|
-
children: /* @__PURE__ */ (0,
|
|
1167
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes13.Text, {
|
|
1124
1168
|
children: "Getting ready to connect to domain API"
|
|
1125
1169
|
})
|
|
1126
1170
|
})
|
|
@@ -1128,21 +1172,21 @@ var Starting = function() {
|
|
|
1128
1172
|
});
|
|
1129
1173
|
};
|
|
1130
1174
|
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
1131
|
-
var
|
|
1175
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1132
1176
|
var Root = function(param) {
|
|
1133
1177
|
var children = param.children;
|
|
1134
|
-
return /* @__PURE__ */ (0,
|
|
1178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_themes14.Flex, {
|
|
1135
1179
|
direction: "column",
|
|
1136
1180
|
children: children
|
|
1137
1181
|
});
|
|
1138
1182
|
};
|
|
1139
1183
|
var ToolCalls = function(param) {
|
|
1140
1184
|
var stepDetails = param.stepDetails, runStep = param.runStep;
|
|
1141
|
-
return /* @__PURE__ */ (0,
|
|
1185
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Root, {
|
|
1142
1186
|
children: [
|
|
1143
|
-
!stepDetails.tool_calls.length && /* @__PURE__ */ (0,
|
|
1187
|
+
!stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Starting, {}),
|
|
1144
1188
|
stepDetails.tool_calls.map(function(toolCall) {
|
|
1145
|
-
return /* @__PURE__ */ (0,
|
|
1189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ToolCall, {
|
|
1146
1190
|
toolCall: toolCall,
|
|
1147
1191
|
runStep: runStep
|
|
1148
1192
|
}, toolCall.id);
|
|
@@ -1154,11 +1198,11 @@ ToolCalls.Root = Root;
|
|
|
1154
1198
|
ToolCalls.Starting = Starting;
|
|
1155
1199
|
ToolCalls.ToolCall = ToolCall;
|
|
1156
1200
|
// src/components/runSteps/RunStep/index.tsx
|
|
1157
|
-
var
|
|
1201
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1158
1202
|
var RunStep = function(param) {
|
|
1159
1203
|
var runStep = param.runStep;
|
|
1160
1204
|
if (runStep.step_details.type === "tool_calls") {
|
|
1161
|
-
return /* @__PURE__ */ (0,
|
|
1205
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ToolCalls, {
|
|
1162
1206
|
stepDetails: runStep.step_details,
|
|
1163
1207
|
runStep: runStep
|
|
1164
1208
|
});
|
|
@@ -1173,15 +1217,15 @@ var ComponentsContext = (0, import_react18.createContext)({
|
|
|
1173
1217
|
}
|
|
1174
1218
|
});
|
|
1175
1219
|
// src/components/runSteps/RunSteps/index.tsx
|
|
1176
|
-
var
|
|
1220
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1177
1221
|
var RunSteps = function(param) {
|
|
1178
1222
|
var runSteps = param.runSteps;
|
|
1179
1223
|
var componentsContext = (0, import_react19.useContext)(ComponentsContext);
|
|
1180
1224
|
var Component = componentsContext.components.RunStep;
|
|
1181
|
-
return /* @__PURE__ */ (0,
|
|
1225
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes15.Flex, {
|
|
1182
1226
|
direction: "column-reverse",
|
|
1183
1227
|
children: runSteps.map(function(runStep) {
|
|
1184
|
-
return /* @__PURE__ */ (0,
|
|
1228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Component, {
|
|
1185
1229
|
runStep: runStep
|
|
1186
1230
|
}, runStep.id);
|
|
1187
1231
|
})
|
|
@@ -1219,13 +1263,13 @@ var import_react23 = require("react");
|
|
|
1219
1263
|
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1220
1264
|
var import_react22 = require("react");
|
|
1221
1265
|
// src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
|
|
1222
|
-
var
|
|
1223
|
-
var
|
|
1266
|
+
var import_themes16 = require("@radix-ui/themes");
|
|
1267
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1224
1268
|
var Paragraph = function(param) {
|
|
1225
1269
|
var children = param.children;
|
|
1226
|
-
return /* @__PURE__ */ (0,
|
|
1270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_themes16.Box, {
|
|
1227
1271
|
pb: "3",
|
|
1228
|
-
children: /* @__PURE__ */ (0,
|
|
1272
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_themes16.Text, {
|
|
1229
1273
|
size: "3",
|
|
1230
1274
|
style: {
|
|
1231
1275
|
whiteSpace: "pre-line",
|
|
@@ -1236,24 +1280,24 @@ var Paragraph = function(param) {
|
|
|
1236
1280
|
});
|
|
1237
1281
|
};
|
|
1238
1282
|
// src/contexts/markdown/MarkdownContext/lib/components/Link.tsx
|
|
1239
|
-
var
|
|
1240
|
-
var
|
|
1283
|
+
var import_themes17 = require("@radix-ui/themes");
|
|
1284
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1241
1285
|
var Link = function(param) {
|
|
1242
1286
|
var children = param.children, href = param.href;
|
|
1243
|
-
return /* @__PURE__ */ (0,
|
|
1287
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes17.Link, {
|
|
1244
1288
|
href: href,
|
|
1245
1289
|
children: children
|
|
1246
1290
|
});
|
|
1247
1291
|
};
|
|
1248
1292
|
// src/contexts/markdown/MarkdownContext/lib/components/UnorderedList.tsx
|
|
1249
|
-
var
|
|
1250
|
-
var
|
|
1293
|
+
var import_themes18 = require("@radix-ui/themes");
|
|
1294
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1251
1295
|
var UnorderedList = function(param) {
|
|
1252
1296
|
var children = param.children;
|
|
1253
|
-
return /* @__PURE__ */ (0,
|
|
1297
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes18.Box, {
|
|
1254
1298
|
pb: "3",
|
|
1255
1299
|
asChild: true,
|
|
1256
|
-
children: /* @__PURE__ */ (0,
|
|
1300
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("ul", {
|
|
1257
1301
|
style: {
|
|
1258
1302
|
listStylePosition: "inside"
|
|
1259
1303
|
},
|
|
@@ -1262,14 +1306,14 @@ var UnorderedList = function(param) {
|
|
|
1262
1306
|
});
|
|
1263
1307
|
};
|
|
1264
1308
|
// src/contexts/markdown/MarkdownContext/lib/components/OrderedList.tsx
|
|
1265
|
-
var
|
|
1266
|
-
var
|
|
1309
|
+
var import_themes19 = require("@radix-ui/themes");
|
|
1310
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1267
1311
|
var OrderedList = function(param) {
|
|
1268
1312
|
var children = param.children;
|
|
1269
|
-
return /* @__PURE__ */ (0,
|
|
1313
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes19.Box, {
|
|
1270
1314
|
pb: "3",
|
|
1271
1315
|
asChild: true,
|
|
1272
|
-
children: /* @__PURE__ */ (0,
|
|
1316
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("ol", {
|
|
1273
1317
|
style: {
|
|
1274
1318
|
listStylePosition: "inside"
|
|
1275
1319
|
},
|
|
@@ -1278,32 +1322,32 @@ var OrderedList = function(param) {
|
|
|
1278
1322
|
});
|
|
1279
1323
|
};
|
|
1280
1324
|
// src/contexts/markdown/MarkdownContext/lib/components/ListItem.tsx
|
|
1281
|
-
var
|
|
1282
|
-
var
|
|
1325
|
+
var import_themes20 = require("@radix-ui/themes");
|
|
1326
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1283
1327
|
var ListItem = function(param) {
|
|
1284
1328
|
var children = param.children;
|
|
1285
|
-
return /* @__PURE__ */ (0,
|
|
1329
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes20.Box, {
|
|
1286
1330
|
pb: "1",
|
|
1287
|
-
children: /* @__PURE__ */ (0,
|
|
1331
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("li", {
|
|
1288
1332
|
children: children
|
|
1289
1333
|
})
|
|
1290
1334
|
});
|
|
1291
1335
|
};
|
|
1292
1336
|
// src/contexts/markdown/MarkdownContext/lib/components/Strong.tsx
|
|
1293
|
-
var
|
|
1294
|
-
var
|
|
1337
|
+
var import_themes21 = require("@radix-ui/themes");
|
|
1338
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1295
1339
|
var Strong = function(param) {
|
|
1296
1340
|
var children = param.children;
|
|
1297
|
-
return /* @__PURE__ */ (0,
|
|
1341
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_themes21.Strong, {
|
|
1298
1342
|
children: children
|
|
1299
1343
|
});
|
|
1300
1344
|
};
|
|
1301
1345
|
// src/contexts/markdown/MarkdownContext/lib/components/Pre.tsx
|
|
1302
|
-
var
|
|
1303
|
-
var
|
|
1346
|
+
var import_themes22 = require("@radix-ui/themes");
|
|
1347
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1304
1348
|
var Pre = function(param) {
|
|
1305
1349
|
var children = param.children;
|
|
1306
|
-
return /* @__PURE__ */ (0,
|
|
1350
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_themes22.Box, {
|
|
1307
1351
|
style: {
|
|
1308
1352
|
whiteSpace: "pre-wrap",
|
|
1309
1353
|
wordBreak: "break-word"
|
|
@@ -1312,21 +1356,21 @@ var Pre = function(param) {
|
|
|
1312
1356
|
});
|
|
1313
1357
|
};
|
|
1314
1358
|
// src/contexts/markdown/MarkdownContext/lib/components/Code.tsx
|
|
1315
|
-
var
|
|
1316
|
-
var
|
|
1359
|
+
var import_themes23 = require("@radix-ui/themes");
|
|
1360
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1317
1361
|
var Code2 = function(param) {
|
|
1318
1362
|
var children = param.children;
|
|
1319
|
-
return /* @__PURE__ */ (0,
|
|
1363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes23.Code, {
|
|
1320
1364
|
children: children
|
|
1321
1365
|
});
|
|
1322
1366
|
};
|
|
1323
1367
|
// src/contexts/markdown/MarkdownContext/lib/components/Img.tsx
|
|
1324
|
-
var
|
|
1325
|
-
var
|
|
1368
|
+
var import_themes24 = require("@radix-ui/themes");
|
|
1369
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1326
1370
|
var Img = function(props) {
|
|
1327
|
-
return /* @__PURE__ */ (0,
|
|
1371
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes24.Box, {
|
|
1328
1372
|
pb: "3",
|
|
1329
|
-
children: /* @__PURE__ */ (0,
|
|
1373
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", _object_spread_props(_object_spread({}, props), {
|
|
1330
1374
|
style: {
|
|
1331
1375
|
maxWidth: "100%",
|
|
1332
1376
|
height: "auto"
|
|
@@ -1358,16 +1402,39 @@ var useMarkdownContext = function() {
|
|
|
1358
1402
|
return (0, import_react23.useContext)(MarkdownContext);
|
|
1359
1403
|
};
|
|
1360
1404
|
// src/components/threads/Thread/Message/TextContent.tsx
|
|
1361
|
-
var
|
|
1405
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1362
1406
|
var TextContent = function(param) {
|
|
1363
1407
|
var content = param.content;
|
|
1364
1408
|
var markdownContext = useMarkdownContext();
|
|
1365
|
-
return /* @__PURE__ */ (0,
|
|
1409
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_markdown.default, _object_spread_props(_object_spread({}, markdownContext), {
|
|
1366
1410
|
children: content.text.value
|
|
1367
1411
|
}));
|
|
1368
1412
|
};
|
|
1413
|
+
// src/components/threads/Thread/Message/Attachments/index.tsx
|
|
1414
|
+
var import_themes25 = require("@radix-ui/themes");
|
|
1415
|
+
var import_react_icons5 = require("@radix-ui/react-icons");
|
|
1416
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1417
|
+
var Attachments = function(param) {
|
|
1418
|
+
var message = param.message;
|
|
1419
|
+
var _message_attachments;
|
|
1420
|
+
if (!((_message_attachments = message.attachments) === null || _message_attachments === void 0 ? void 0 : _message_attachments.length)) return null;
|
|
1421
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes25.Flex, {
|
|
1422
|
+
align: "start",
|
|
1423
|
+
pb: "1",
|
|
1424
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes25.Badge, {
|
|
1425
|
+
color: "gray",
|
|
1426
|
+
variant: "surface",
|
|
1427
|
+
children: [
|
|
1428
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_icons5.FileIcon, {}),
|
|
1429
|
+
message.attachments.length,
|
|
1430
|
+
" file",
|
|
1431
|
+
message.attachments.length > 1 ? "s" : ""
|
|
1432
|
+
]
|
|
1433
|
+
})
|
|
1434
|
+
});
|
|
1435
|
+
};
|
|
1369
1436
|
// src/components/threads/Thread/Message/index.tsx
|
|
1370
|
-
var
|
|
1437
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1371
1438
|
var Message = function(param) {
|
|
1372
1439
|
var message = param.message;
|
|
1373
1440
|
var _ref = _sliced_to_array((0, import_react24.useMemo)(function() {
|
|
@@ -1412,65 +1479,68 @@ var Message = function(param) {
|
|
|
1412
1479
|
}, [
|
|
1413
1480
|
message
|
|
1414
1481
|
]);
|
|
1415
|
-
return /* @__PURE__ */ (0,
|
|
1482
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Provider, {
|
|
1416
1483
|
value: {
|
|
1417
1484
|
message: message
|
|
1418
1485
|
},
|
|
1419
|
-
children: /* @__PURE__ */ (0,
|
|
1486
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes26.Box, {
|
|
1420
1487
|
children: [
|
|
1421
|
-
/* @__PURE__ */ (0,
|
|
1488
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(RunSteps, {
|
|
1422
1489
|
runSteps: olderRunSteps
|
|
1423
1490
|
}),
|
|
1424
|
-
/* @__PURE__ */ (0,
|
|
1491
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes26.Box, {
|
|
1425
1492
|
children: [
|
|
1493
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Attachments, {
|
|
1494
|
+
message: message
|
|
1495
|
+
}),
|
|
1426
1496
|
message.content.map(function(content, index) {
|
|
1427
|
-
return /* @__PURE__ */ (0,
|
|
1428
|
-
children: content.type === "text" && /* @__PURE__ */ (0,
|
|
1497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react24.Fragment, {
|
|
1498
|
+
children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(TextContent, {
|
|
1429
1499
|
content: content
|
|
1430
1500
|
})
|
|
1431
1501
|
}, index);
|
|
1432
1502
|
}),
|
|
1433
|
-
isInProgress && (0, import_radash3.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0,
|
|
1503
|
+
isInProgress && (0, import_radash3.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(StartingContentSkeleton, {})
|
|
1434
1504
|
]
|
|
1435
1505
|
}),
|
|
1436
|
-
/* @__PURE__ */ (0,
|
|
1506
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(RunSteps, {
|
|
1437
1507
|
runSteps: laterRunSteps
|
|
1438
1508
|
}),
|
|
1439
|
-
isInProgress && !(0, import_radash3.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0,
|
|
1440
|
-
children: /* @__PURE__ */ (0,
|
|
1509
|
+
isInProgress && !(0, import_radash3.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes26.Box, {
|
|
1510
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(StartingContentSkeleton, {})
|
|
1441
1511
|
})
|
|
1442
1512
|
]
|
|
1443
1513
|
})
|
|
1444
1514
|
});
|
|
1445
1515
|
};
|
|
1446
1516
|
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
1447
|
-
var
|
|
1517
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1448
1518
|
var Content2 = function(param) {
|
|
1449
1519
|
var messageGroup = param.messageGroup;
|
|
1450
|
-
return /* @__PURE__ */ (0,
|
|
1520
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes27.Flex, {
|
|
1451
1521
|
direction: "column-reverse",
|
|
1452
1522
|
children: messageGroup.messages.map(function(message) {
|
|
1453
|
-
return /* @__PURE__ */ (0,
|
|
1523
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Message, {
|
|
1454
1524
|
message: message
|
|
1455
1525
|
}, message.id);
|
|
1456
1526
|
})
|
|
1457
1527
|
});
|
|
1458
1528
|
};
|
|
1459
1529
|
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
1460
|
-
var
|
|
1530
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1461
1531
|
var MessageGroup = function(param) {
|
|
1462
1532
|
var messageGroup = param.messageGroup;
|
|
1463
1533
|
var assistantNameContext = (0, import_react25.useContext)(AssistantNameContext);
|
|
1464
|
-
return /* @__PURE__ */ (0,
|
|
1534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(MessageGroupBase, {
|
|
1465
1535
|
children: [
|
|
1466
|
-
messageGroup.role === "user" ? /* @__PURE__ */ (0,
|
|
1467
|
-
/* @__PURE__ */ (0,
|
|
1536
|
+
messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(UserAvatar, {}) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AssistantAvatar, {}),
|
|
1537
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_themes28.Box, {
|
|
1468
1538
|
flexGrow: "1",
|
|
1469
1539
|
children: [
|
|
1470
|
-
/* @__PURE__ */ (0,
|
|
1540
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Name, {
|
|
1471
1541
|
children: messageGroup.role === "user" ? "You" : assistantNameContext
|
|
1472
1542
|
}),
|
|
1473
|
-
/* @__PURE__ */ (0,
|
|
1543
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Content2, {
|
|
1474
1544
|
messageGroup: messageGroup
|
|
1475
1545
|
})
|
|
1476
1546
|
]
|
|
@@ -1479,7 +1549,7 @@ var MessageGroup = function(param) {
|
|
|
1479
1549
|
});
|
|
1480
1550
|
};
|
|
1481
1551
|
// src/components/threads/Thread/Messages/Content/index.tsx
|
|
1482
|
-
var
|
|
1552
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
1483
1553
|
var Content3 = function() {
|
|
1484
1554
|
var _useMessages = useMessages(), messages2 = _useMessages.messages, isLoading = _useMessages.isLoading, isLoadingError = _useMessages.isLoadingError;
|
|
1485
1555
|
var addToast = useToasts().addToast;
|
|
@@ -1498,11 +1568,11 @@ var Content3 = function() {
|
|
|
1498
1568
|
addToast
|
|
1499
1569
|
]);
|
|
1500
1570
|
if (isLoading || isLoadingError) {
|
|
1501
|
-
return /* @__PURE__ */ (0,
|
|
1571
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(MessagesSkeleton, {});
|
|
1502
1572
|
}
|
|
1503
|
-
return /* @__PURE__ */ (0,
|
|
1573
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, {
|
|
1504
1574
|
children: messageGroups2.map(function(messageGroup) {
|
|
1505
|
-
return /* @__PURE__ */ (0,
|
|
1575
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(MessageGroup, {
|
|
1506
1576
|
messageGroup: messageGroup
|
|
1507
1577
|
}, messageGroup.id);
|
|
1508
1578
|
})
|
|
@@ -1512,21 +1582,21 @@ var Content3 = function() {
|
|
|
1512
1582
|
var import_react29 = require("react");
|
|
1513
1583
|
// src/components/skeletons/StartingSkeleton/index.tsx
|
|
1514
1584
|
var import_react27 = require("react");
|
|
1515
|
-
var
|
|
1516
|
-
var
|
|
1585
|
+
var import_themes29 = require("@radix-ui/themes");
|
|
1586
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1517
1587
|
var StartingSkeleton = function(param) {
|
|
1518
1588
|
var children = param.children;
|
|
1519
1589
|
var assistantNameContext = (0, import_react27.useContext)(AssistantNameContext);
|
|
1520
|
-
return /* @__PURE__ */ (0,
|
|
1590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(MessageGroupBase, {
|
|
1521
1591
|
children: [
|
|
1522
|
-
/* @__PURE__ */ (0,
|
|
1523
|
-
/* @__PURE__ */ (0,
|
|
1592
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(AssistantAvatar, {}),
|
|
1593
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_themes29.Box, {
|
|
1524
1594
|
children: [
|
|
1525
|
-
/* @__PURE__ */ (0,
|
|
1595
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Name, {
|
|
1526
1596
|
children: assistantNameContext
|
|
1527
1597
|
}),
|
|
1528
1598
|
children,
|
|
1529
|
-
/* @__PURE__ */ (0,
|
|
1599
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(StartingContentSkeleton, {})
|
|
1530
1600
|
]
|
|
1531
1601
|
})
|
|
1532
1602
|
]
|
|
@@ -1551,7 +1621,7 @@ var isOptimistic = function(param) {
|
|
|
1551
1621
|
return import_lodash4.default.startsWith(id, "-");
|
|
1552
1622
|
};
|
|
1553
1623
|
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1554
|
-
var
|
|
1624
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1555
1625
|
var Progress = function() {
|
|
1556
1626
|
var latestMessage = useLatestMessage().latestMessage;
|
|
1557
1627
|
var isMutatingMessage = useIsMutatingMessage();
|
|
@@ -1569,10 +1639,10 @@ var Progress = function() {
|
|
|
1569
1639
|
isMutatingMessage
|
|
1570
1640
|
]);
|
|
1571
1641
|
if (!isVisible) return null;
|
|
1572
|
-
return /* @__PURE__ */ (0,
|
|
1642
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(StartingSkeleton, {});
|
|
1573
1643
|
};
|
|
1574
1644
|
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
1575
|
-
var
|
|
1645
|
+
var import_themes30 = require("@radix-ui/themes");
|
|
1576
1646
|
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1577
1647
|
var import_react31 = require("react");
|
|
1578
1648
|
var import_react_intersection_observer = require("react-intersection-observer");
|
|
@@ -1628,7 +1698,7 @@ var useInfiniteScroll = function(param) {
|
|
|
1628
1698
|
};
|
|
1629
1699
|
};
|
|
1630
1700
|
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
1631
|
-
var
|
|
1701
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
1632
1702
|
var Root2 = function(param) {
|
|
1633
1703
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
1634
1704
|
var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
|
|
@@ -1637,7 +1707,7 @@ var Root2 = function(param) {
|
|
|
1637
1707
|
hasNextPage: hasNextPage,
|
|
1638
1708
|
fetchNextPage: fetchNextPage
|
|
1639
1709
|
}), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
|
|
1640
|
-
return /* @__PURE__ */ (0,
|
|
1710
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_themes30.Flex, {
|
|
1641
1711
|
ref: containerRef,
|
|
1642
1712
|
direction: "column-reverse",
|
|
1643
1713
|
flexGrow: "1",
|
|
@@ -1646,10 +1716,10 @@ var Root2 = function(param) {
|
|
|
1646
1716
|
}),
|
|
1647
1717
|
children: [
|
|
1648
1718
|
children,
|
|
1649
|
-
hasNextPage && /* @__PURE__ */ (0,
|
|
1719
|
+
hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes30.Flex, {
|
|
1650
1720
|
ref: loaderRef
|
|
1651
1721
|
}),
|
|
1652
|
-
/* @__PURE__ */ (0,
|
|
1722
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes30.Flex, {
|
|
1653
1723
|
flexShrink: "0",
|
|
1654
1724
|
flexGrow: "1"
|
|
1655
1725
|
})
|
|
@@ -1657,30 +1727,30 @@ var Root2 = function(param) {
|
|
|
1657
1727
|
});
|
|
1658
1728
|
};
|
|
1659
1729
|
// src/components/threads/Thread/Messages/NextPageSkeleton.tsx
|
|
1660
|
-
var
|
|
1730
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
1661
1731
|
var NextPageSkeleton = function() {
|
|
1662
1732
|
var hasNextPage = useMessages().hasNextPage;
|
|
1663
1733
|
if (!hasNextPage) {
|
|
1664
1734
|
return null;
|
|
1665
1735
|
}
|
|
1666
|
-
return /* @__PURE__ */ (0,
|
|
1736
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(MessagesSkeleton, {});
|
|
1667
1737
|
};
|
|
1668
1738
|
// src/components/threads/Thread/Messages/index.tsx
|
|
1669
|
-
var
|
|
1739
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
1670
1740
|
var Messages = function(param) {
|
|
1671
1741
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
1672
|
-
return /* @__PURE__ */ (0,
|
|
1742
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Root2, {
|
|
1673
1743
|
style: style,
|
|
1674
1744
|
children: [
|
|
1675
|
-
/* @__PURE__ */ (0,
|
|
1745
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_themes31.Flex, {
|
|
1676
1746
|
flexShrink: "0",
|
|
1677
1747
|
height: "var(--space-3)"
|
|
1678
1748
|
}),
|
|
1679
|
-
/* @__PURE__ */ (0,
|
|
1749
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Progress, {}),
|
|
1680
1750
|
children,
|
|
1681
|
-
/* @__PURE__ */ (0,
|
|
1682
|
-
/* @__PURE__ */ (0,
|
|
1683
|
-
/* @__PURE__ */ (0,
|
|
1751
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Content3, {}),
|
|
1752
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NextPageSkeleton, {}),
|
|
1753
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_themes31.Flex, {
|
|
1684
1754
|
flexShrink: "0",
|
|
1685
1755
|
flexGrow: "1"
|
|
1686
1756
|
})
|
|
@@ -1690,49 +1760,65 @@ var Messages = function(param) {
|
|
|
1690
1760
|
Messages.Root = Root2;
|
|
1691
1761
|
Messages.Message = Message;
|
|
1692
1762
|
Messages.NextPageSkeleton = NextPageSkeleton;
|
|
1693
|
-
// src/components/threads/Thread/MessageForm/index.tsx
|
|
1694
|
-
var import_themes36 = require("@radix-ui/themes");
|
|
1695
1763
|
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
1696
|
-
var
|
|
1697
|
-
var
|
|
1764
|
+
var import_react_icons6 = require("@radix-ui/react-icons");
|
|
1765
|
+
var import_themes32 = require("@radix-ui/themes");
|
|
1698
1766
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
1699
1767
|
var import_react33 = require("react");
|
|
1700
1768
|
// src/contexts/messages/MessageFormContext/index.ts
|
|
1701
1769
|
var import_react32 = require("react");
|
|
1702
1770
|
var MessageFormContext = (0, import_react32.createContext)({
|
|
1703
1771
|
isDisabled: false,
|
|
1704
|
-
isLoading: false
|
|
1772
|
+
isLoading: false,
|
|
1773
|
+
files: [],
|
|
1774
|
+
setFiles: function() {},
|
|
1775
|
+
isFileLoading: false
|
|
1705
1776
|
});
|
|
1706
1777
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
1707
1778
|
var useMessageFormContext = function() {
|
|
1708
1779
|
return (0, import_react33.useContext)(MessageFormContext);
|
|
1709
1780
|
};
|
|
1710
1781
|
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
1711
|
-
var
|
|
1712
|
-
var
|
|
1782
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
1783
|
+
var Root3 = function(param) {
|
|
1784
|
+
var children = param.children;
|
|
1785
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes32.Flex, {
|
|
1786
|
+
flexShrink: "0",
|
|
1787
|
+
align: "end",
|
|
1788
|
+
children: children
|
|
1789
|
+
});
|
|
1790
|
+
};
|
|
1791
|
+
var Button2 = function() {
|
|
1713
1792
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
1714
|
-
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
1793
|
+
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading, isFileLoading = _useMessageFormContext.isFileLoading;
|
|
1715
1794
|
if (isLoading) {
|
|
1716
|
-
return /* @__PURE__ */ (0,
|
|
1795
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes32.IconButton, {
|
|
1717
1796
|
type: "button",
|
|
1718
1797
|
onClick: function() {
|
|
1719
1798
|
var _superinterfaceContext_createMessageAbortControllerRef_current;
|
|
1720
1799
|
return (_superinterfaceContext_createMessageAbortControllerRef_current = superinterfaceContext.createMessageAbortControllerRef.current) === null || _superinterfaceContext_createMessageAbortControllerRef_current === void 0 ? void 0 : _superinterfaceContext_createMessageAbortControllerRef_current.abort();
|
|
1721
1800
|
},
|
|
1722
|
-
children: /* @__PURE__ */ (0,
|
|
1801
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_icons6.StopIcon, {})
|
|
1723
1802
|
});
|
|
1724
1803
|
}
|
|
1725
|
-
return /* @__PURE__ */ (0,
|
|
1804
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes32.IconButton, {
|
|
1726
1805
|
type: "submit",
|
|
1727
|
-
disabled: isDisabled,
|
|
1728
|
-
children: /* @__PURE__ */ (0,
|
|
1806
|
+
disabled: isDisabled || isFileLoading,
|
|
1807
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_icons6.ArrowUpIcon, {})
|
|
1729
1808
|
});
|
|
1730
1809
|
};
|
|
1810
|
+
var Submit = function() {
|
|
1811
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Root3, {
|
|
1812
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Button2, {})
|
|
1813
|
+
});
|
|
1814
|
+
};
|
|
1815
|
+
Submit.Root = Root3;
|
|
1816
|
+
Submit.Button = Button2;
|
|
1731
1817
|
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
1732
1818
|
var import_react_query5 = require("@tanstack/react-query");
|
|
1733
1819
|
var import_react34 = require("react");
|
|
1734
1820
|
var import_react_hook_form = require("react-hook-form");
|
|
1735
|
-
var
|
|
1821
|
+
var import_themes33 = require("@radix-ui/themes");
|
|
1736
1822
|
// src/hooks/messages/useCreateMessage/index.ts
|
|
1737
1823
|
var import_radash11 = require("radash");
|
|
1738
1824
|
var import_react_query4 = require("@tanstack/react-query");
|
|
@@ -1749,6 +1835,7 @@ var optimisticId = function() {
|
|
|
1749
1835
|
var data = function(param) {
|
|
1750
1836
|
var newMessage = param.newMessage;
|
|
1751
1837
|
return function(prevData) {
|
|
1838
|
+
var _newMessage_attachments;
|
|
1752
1839
|
var message = {
|
|
1753
1840
|
id: optimisticId(),
|
|
1754
1841
|
role: "user",
|
|
@@ -1766,7 +1853,7 @@ var data = function(param) {
|
|
|
1766
1853
|
run_id: null,
|
|
1767
1854
|
assistant_id: null,
|
|
1768
1855
|
thread_id: null,
|
|
1769
|
-
attachments: [],
|
|
1856
|
+
attachments: (_newMessage_attachments = newMessage.attachments) !== null && _newMessage_attachments !== void 0 ? _newMessage_attachments : [],
|
|
1770
1857
|
metadata: {},
|
|
1771
1858
|
runSteps: []
|
|
1772
1859
|
};
|
|
@@ -1808,7 +1895,8 @@ var onMutate = function(param) {
|
|
|
1808
1895
|
queryKey = [
|
|
1809
1896
|
"messages",
|
|
1810
1897
|
(0, import_radash5.omit)(newMessage, [
|
|
1811
|
-
"content"
|
|
1898
|
+
"content",
|
|
1899
|
+
"attachments"
|
|
1812
1900
|
])
|
|
1813
1901
|
];
|
|
1814
1902
|
return [
|
|
@@ -2353,9 +2441,10 @@ var formOptions = {
|
|
|
2353
2441
|
};
|
|
2354
2442
|
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
2355
2443
|
var import_radash12 = require("radash");
|
|
2356
|
-
var
|
|
2357
|
-
var
|
|
2444
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2445
|
+
var Root4 = function(param) {
|
|
2358
2446
|
var children = param.children, onSubmitArg = param.onSubmit;
|
|
2447
|
+
var _ref = _sliced_to_array((0, import_react34.useState)([]), 2), files = _ref[0], setFiles = _ref[1];
|
|
2359
2448
|
var formProps = (0, import_react_hook_form.useForm)(formOptions);
|
|
2360
2449
|
var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
|
|
2361
2450
|
var addToast = useToasts().addToast;
|
|
@@ -2385,27 +2474,69 @@ var Root3 = function(param) {
|
|
|
2385
2474
|
}
|
|
2386
2475
|
}).createMessage;
|
|
2387
2476
|
var isMutatingMessage = useIsMutatingMessage();
|
|
2477
|
+
var isFileLoading = (0, import_react34.useMemo)(function() {
|
|
2478
|
+
return files.some(function(file) {
|
|
2479
|
+
return isOptimistic({
|
|
2480
|
+
id: file.id
|
|
2481
|
+
});
|
|
2482
|
+
});
|
|
2483
|
+
}, [
|
|
2484
|
+
files
|
|
2485
|
+
]);
|
|
2388
2486
|
var isLoading = (0, import_react34.useMemo)(function() {
|
|
2389
2487
|
return isMutatingMessage || isSubmitting;
|
|
2390
2488
|
}, [
|
|
2391
2489
|
isMutatingMessage,
|
|
2392
2490
|
isSubmitting
|
|
2393
2491
|
]);
|
|
2492
|
+
var latestMessage = useLatestMessage().latestMessage;
|
|
2493
|
+
var isDisabled = (0, import_react34.useMemo)(function() {
|
|
2494
|
+
var // @ts-ignore-next-line
|
|
2495
|
+
_latestMessage_metadata;
|
|
2496
|
+
return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
|
|
2497
|
+
}, [
|
|
2498
|
+
latestMessage,
|
|
2499
|
+
isLoading,
|
|
2500
|
+
files
|
|
2501
|
+
]);
|
|
2394
2502
|
var onSubmit = onSubmitArg ? (0, import_radash12.partob)(onSubmitArg, {
|
|
2395
2503
|
reset: reset,
|
|
2396
2504
|
createMessage: createMessage
|
|
2397
2505
|
}) : function() {
|
|
2398
2506
|
var _ref = _async_to_generator(function(data2) {
|
|
2507
|
+
var attachments;
|
|
2399
2508
|
return _ts_generator(this, function(_state) {
|
|
2400
2509
|
switch(_state.label){
|
|
2401
2510
|
case 0:
|
|
2511
|
+
if (isFileLoading) return [
|
|
2512
|
+
2
|
|
2513
|
+
];
|
|
2514
|
+
if (isLoading) return [
|
|
2515
|
+
2
|
|
2516
|
+
];
|
|
2517
|
+
if (isDisabled) return [
|
|
2518
|
+
2
|
|
2519
|
+
];
|
|
2402
2520
|
reset();
|
|
2521
|
+
setFiles([]);
|
|
2522
|
+
attachments = files.map(function(file) {
|
|
2523
|
+
return {
|
|
2524
|
+
file_id: file.id,
|
|
2525
|
+
tools: [
|
|
2526
|
+
{
|
|
2527
|
+
type: "file_search"
|
|
2528
|
+
}
|
|
2529
|
+
]
|
|
2530
|
+
};
|
|
2531
|
+
});
|
|
2403
2532
|
return [
|
|
2404
2533
|
4,
|
|
2405
|
-
createMessage({
|
|
2534
|
+
createMessage(_object_spread({
|
|
2406
2535
|
// @ts-ignore-next-line
|
|
2407
2536
|
content: data2.content
|
|
2408
|
-
}
|
|
2537
|
+
}, attachments.length ? {
|
|
2538
|
+
attachments: attachments
|
|
2539
|
+
} : {}))
|
|
2409
2540
|
];
|
|
2410
2541
|
case 1:
|
|
2411
2542
|
_state.sent();
|
|
@@ -2419,25 +2550,19 @@ var Root3 = function(param) {
|
|
|
2419
2550
|
return _ref.apply(this, arguments);
|
|
2420
2551
|
};
|
|
2421
2552
|
}();
|
|
2422
|
-
|
|
2423
|
-
var isDisabled = (0, import_react34.useMemo)(function() {
|
|
2424
|
-
var // @ts-ignore-next-line
|
|
2425
|
-
_latestMessage_metadata;
|
|
2426
|
-
return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
|
|
2427
|
-
}, [
|
|
2428
|
-
latestMessage,
|
|
2429
|
-
isLoading
|
|
2430
|
-
]);
|
|
2431
|
-
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(MessageFormContext.Provider, {
|
|
2553
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(MessageFormContext.Provider, {
|
|
2432
2554
|
value: {
|
|
2433
2555
|
isDisabled: isDisabled,
|
|
2434
|
-
isLoading: isLoading
|
|
2556
|
+
isLoading: isLoading,
|
|
2557
|
+
files: files,
|
|
2558
|
+
setFiles: setFiles,
|
|
2559
|
+
isFileLoading: isFileLoading
|
|
2435
2560
|
},
|
|
2436
|
-
children: /* @__PURE__ */ (0,
|
|
2437
|
-
children: /* @__PURE__ */ (0,
|
|
2561
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
|
|
2562
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes33.Box, {
|
|
2438
2563
|
asChild: true,
|
|
2439
2564
|
flexShrink: "0",
|
|
2440
|
-
children: /* @__PURE__ */ (0,
|
|
2565
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("form", {
|
|
2441
2566
|
onSubmit: handleSubmit(onSubmit),
|
|
2442
2567
|
children: children
|
|
2443
2568
|
})
|
|
@@ -2446,20 +2571,24 @@ var Root3 = function(param) {
|
|
|
2446
2571
|
});
|
|
2447
2572
|
};
|
|
2448
2573
|
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2574
|
+
var import_react_hook_form3 = require("react-hook-form");
|
|
2575
|
+
var import_themes37 = require("@radix-ui/themes");
|
|
2576
|
+
// src/components/threads/Thread/MessageForm/Field/Control.tsx
|
|
2577
|
+
var import_themes34 = require("@radix-ui/themes");
|
|
2578
|
+
var import_react_hook_form2 = require("react-hook-form");
|
|
2449
2579
|
var import_react_use = require("react-use");
|
|
2450
2580
|
var import_react36 = require("react");
|
|
2451
2581
|
// src/components/textareas/TextareaBase/index.tsx
|
|
2452
2582
|
var import_react35 = require("react");
|
|
2453
2583
|
var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
|
|
2454
|
-
var
|
|
2455
|
-
var UPSCALE_RATIO = 16 / 14;
|
|
2584
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2456
2585
|
var TextareaBase = (0, import_react35.forwardRef)(function TextareaBase2(props, ref) {
|
|
2457
|
-
return /* @__PURE__ */ (0,
|
|
2586
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, {
|
|
2458
2587
|
children: [
|
|
2459
|
-
/* @__PURE__ */ (0,
|
|
2588
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("style", {
|
|
2460
2589
|
children: ".superinterface-textarea { min-height: inherit; height: 30px; }\n.superinterface-textarea::placeholder { color: var(--gray-a10); }"
|
|
2461
2590
|
}),
|
|
2462
|
-
/* @__PURE__ */ (0,
|
|
2591
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_textarea_autosize.default, _object_spread({
|
|
2463
2592
|
ref: ref,
|
|
2464
2593
|
className: "rt-reset superinterface-textarea",
|
|
2465
2594
|
style: {
|
|
@@ -2468,12 +2597,6 @@ var TextareaBase = (0, import_react35.forwardRef)(function TextareaBase2(props,
|
|
|
2468
2597
|
boxSizing: "border-box",
|
|
2469
2598
|
resize: "none",
|
|
2470
2599
|
color: "var(--gray-12)",
|
|
2471
|
-
fontSize: "".concat(14 * UPSCALE_RATIO, "px"),
|
|
2472
|
-
lineHeight: "".concat(24 * UPSCALE_RATIO, "px"),
|
|
2473
|
-
transform: "scale(".concat(1 / UPSCALE_RATIO, ")"),
|
|
2474
|
-
margin: "0 ".concat((-100 * UPSCALE_RATIO + 100) / 2, "%"),
|
|
2475
|
-
width: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2476
|
-
maxWidth: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2477
2600
|
flexGrow: 1,
|
|
2478
2601
|
display: "flex"
|
|
2479
2602
|
}
|
|
@@ -2481,40 +2604,17 @@ var TextareaBase = (0, import_react35.forwardRef)(function TextareaBase2(props,
|
|
|
2481
2604
|
]
|
|
2482
2605
|
});
|
|
2483
2606
|
});
|
|
2484
|
-
// src/components/threads/Thread/MessageForm/Field/
|
|
2485
|
-
var
|
|
2486
|
-
var
|
|
2487
|
-
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2488
|
-
var Root4 = function(param) {
|
|
2607
|
+
// src/components/threads/Thread/MessageForm/Field/Control.tsx
|
|
2608
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2609
|
+
var Root5 = function(param) {
|
|
2489
2610
|
var children = param.children;
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes35.Flex, {
|
|
2495
|
-
direction: "column",
|
|
2496
|
-
flexShrink: "0",
|
|
2497
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes35.Flex, {
|
|
2498
|
-
direction: "column",
|
|
2499
|
-
flexShrink: "0",
|
|
2500
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes35.Flex, {
|
|
2501
|
-
style: _object_spread({
|
|
2502
|
-
borderRadius: "var(--radius-2)",
|
|
2503
|
-
borderWidth: "1px",
|
|
2504
|
-
borderStyle: "solid",
|
|
2505
|
-
borderColor: errors.content ? "var(--red-9)" : "var(--gray-5)"
|
|
2506
|
-
}, errors.content ? {
|
|
2507
|
-
backgroundColor: "var(--red-2)"
|
|
2508
|
-
} : {}),
|
|
2509
|
-
p: "2",
|
|
2510
|
-
pl: "4",
|
|
2511
|
-
children: children
|
|
2512
|
-
})
|
|
2513
|
-
})
|
|
2514
|
-
})
|
|
2611
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes34.Flex, {
|
|
2612
|
+
flexGrow: "1",
|
|
2613
|
+
pt: "4px",
|
|
2614
|
+
children: children
|
|
2515
2615
|
});
|
|
2516
2616
|
};
|
|
2517
|
-
var
|
|
2617
|
+
var Input = function() {
|
|
2518
2618
|
var assistantNameContext = (0, import_react36.useContext)(AssistantNameContext);
|
|
2519
2619
|
var register = (0, import_react_hook_form2.useFormContext)().register;
|
|
2520
2620
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
@@ -2537,7 +2637,7 @@ var Control = function() {
|
|
|
2537
2637
|
isDisabledPrevious,
|
|
2538
2638
|
textareaProps
|
|
2539
2639
|
]);
|
|
2540
|
-
return /* @__PURE__ */ (0,
|
|
2640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(TextareaBase, _object_spread_props(_object_spread({
|
|
2541
2641
|
minRows: 1,
|
|
2542
2642
|
placeholder: "Message ".concat(assistantNameContext, "..."),
|
|
2543
2643
|
disabled: isDisabled,
|
|
@@ -2556,51 +2656,348 @@ var Control = function() {
|
|
|
2556
2656
|
}
|
|
2557
2657
|
}));
|
|
2558
2658
|
};
|
|
2559
|
-
var
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
};
|
|
2563
|
-
// src/components/threads/Thread/MessageForm/index.tsx
|
|
2564
|
-
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2565
|
-
var MessageForm = function() {
|
|
2566
|
-
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Root3, {
|
|
2567
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Field.Root, {
|
|
2568
|
-
children: [
|
|
2569
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes36.Text, {
|
|
2570
|
-
size: "2",
|
|
2571
|
-
style: {
|
|
2572
|
-
flexGrow: 1
|
|
2573
|
-
},
|
|
2574
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes36.Flex, {
|
|
2575
|
-
flexGrow: "1",
|
|
2576
|
-
direction: "column",
|
|
2577
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Field.Control, {})
|
|
2578
|
-
})
|
|
2579
|
-
}),
|
|
2580
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes36.Flex, {
|
|
2581
|
-
flexShrink: "0",
|
|
2582
|
-
align: "end",
|
|
2583
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Submit, {})
|
|
2584
|
-
})
|
|
2585
|
-
]
|
|
2586
|
-
})
|
|
2659
|
+
var Control = function() {
|
|
2660
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Root5, {
|
|
2661
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Input, {})
|
|
2587
2662
|
});
|
|
2588
2663
|
};
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
MessageForm.
|
|
2592
|
-
|
|
2593
|
-
var
|
|
2594
|
-
|
|
2595
|
-
var
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2664
|
+
Control.Root = Root5;
|
|
2665
|
+
Control.Input = Input;
|
|
2666
|
+
// src/components/threads/Thread/MessageForm/Field/Files/Preview.tsx
|
|
2667
|
+
var import_themes35 = require("@radix-ui/themes");
|
|
2668
|
+
var import_react_icons7 = require("@radix-ui/react-icons");
|
|
2669
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2670
|
+
var Preview = function() {
|
|
2671
|
+
var _useMessageFormContext = useMessageFormContext(), files = _useMessageFormContext.files, setFiles = _useMessageFormContext.setFiles;
|
|
2672
|
+
if (!files.length) {
|
|
2673
|
+
return null;
|
|
2674
|
+
}
|
|
2675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Flex, {
|
|
2676
|
+
flexBasis: "100%",
|
|
2677
|
+
direction: "column",
|
|
2678
|
+
pb: "2",
|
|
2679
|
+
gap: "1",
|
|
2680
|
+
children: files.map(function(file) {
|
|
2681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Card, {
|
|
2682
|
+
variant: "ghost",
|
|
2683
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_themes35.Flex, {
|
|
2684
|
+
align: "center",
|
|
2685
|
+
justify: "between",
|
|
2686
|
+
gap: "1",
|
|
2687
|
+
children: [
|
|
2688
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_themes35.Flex, {
|
|
2689
|
+
align: "center",
|
|
2690
|
+
gap: "1",
|
|
2691
|
+
flexShrink: "1",
|
|
2692
|
+
minWidth: "0",
|
|
2693
|
+
maxWidth: "250px",
|
|
2694
|
+
children: [
|
|
2695
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Flex, {
|
|
2696
|
+
flexShrink: "0",
|
|
2697
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Spinner, {
|
|
2698
|
+
loading: isOptimistic({
|
|
2699
|
+
id: file.id
|
|
2700
|
+
}),
|
|
2701
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_icons7.FileIcon, {})
|
|
2702
|
+
})
|
|
2703
|
+
}),
|
|
2704
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Text, {
|
|
2705
|
+
size: "2",
|
|
2706
|
+
truncate: true,
|
|
2707
|
+
wrap: "nowrap",
|
|
2708
|
+
children: file.filename
|
|
2709
|
+
})
|
|
2710
|
+
]
|
|
2711
|
+
}),
|
|
2712
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Flex, {
|
|
2713
|
+
flexShrink: "0",
|
|
2714
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.IconButton, {
|
|
2715
|
+
onClick: function() {
|
|
2716
|
+
return setFiles(function(prev) {
|
|
2717
|
+
return prev.filter(function(prevFile) {
|
|
2718
|
+
return prevFile.id !== file.id;
|
|
2719
|
+
});
|
|
2720
|
+
});
|
|
2721
|
+
},
|
|
2722
|
+
color: "gray",
|
|
2723
|
+
variant: "ghost",
|
|
2724
|
+
size: "1",
|
|
2725
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_icons7.Cross2Icon, {})
|
|
2726
|
+
})
|
|
2727
|
+
})
|
|
2728
|
+
]
|
|
2729
|
+
})
|
|
2730
|
+
}, file.id);
|
|
2731
|
+
})
|
|
2732
|
+
});
|
|
2733
|
+
};
|
|
2734
|
+
// src/components/threads/Thread/MessageForm/Field/Files/Control.tsx
|
|
2735
|
+
var import_react37 = require("react");
|
|
2736
|
+
var import_dayjs2 = __toESM(require("dayjs"), 1);
|
|
2737
|
+
var import_react_icons8 = require("@radix-ui/react-icons");
|
|
2738
|
+
var import_themes36 = require("@radix-ui/themes");
|
|
2739
|
+
// src/hooks/files/useCreateFile/index.ts
|
|
2740
|
+
var import_react_query6 = require("@tanstack/react-query");
|
|
2741
|
+
// src/hooks/files/useCreateFile/lib/mutationOptions/mutationFn/body/formData.ts
|
|
2742
|
+
var formData = function(variables) {
|
|
2743
|
+
var data2 = new FormData();
|
|
2744
|
+
for(var key2 in variables){
|
|
2745
|
+
data2.append(key2, variables[key2]);
|
|
2746
|
+
}
|
|
2747
|
+
return data2;
|
|
2748
|
+
};
|
|
2749
|
+
// src/hooks/files/useCreateFile/lib/mutationOptions/mutationFn/body/index.ts
|
|
2750
|
+
var body2 = function(param) {
|
|
2751
|
+
var variables = param.variables, superinterfaceContext = param.superinterfaceContext;
|
|
2752
|
+
var _superinterfaceContext_threadIdCookieOptions;
|
|
2753
|
+
if (variables.threadId) return formData(variables);
|
|
2754
|
+
if (!variables.assistantId) return formData(variables);
|
|
2755
|
+
if (!((_superinterfaceContext_threadIdCookieOptions = superinterfaceContext.threadIdCookieOptions) === null || _superinterfaceContext_threadIdCookieOptions === void 0 ? void 0 : _superinterfaceContext_threadIdCookieOptions.get)) return formData(variables);
|
|
2756
|
+
var threadId = superinterfaceContext.threadIdCookieOptions.get({
|
|
2757
|
+
assistantId: variables.assistantId
|
|
2758
|
+
});
|
|
2759
|
+
if (!threadId) return formData(variables);
|
|
2760
|
+
return formData(_object_spread_props(_object_spread({}, variables), {
|
|
2761
|
+
threadId: threadId
|
|
2762
|
+
}));
|
|
2763
|
+
};
|
|
2764
|
+
// src/hooks/files/useCreateFile/lib/mutationOptions/mutationFn/index.ts
|
|
2765
|
+
var mutationFn2 = function(param) {
|
|
2766
|
+
var superinterfaceContext = param.superinterfaceContext, queryClient = param.queryClient, threadContext = param.threadContext;
|
|
2767
|
+
return function() {
|
|
2768
|
+
var _ref = _async_to_generator(function(variables) {
|
|
2769
|
+
var response, result;
|
|
2770
|
+
return _ts_generator(this, function(_state) {
|
|
2771
|
+
switch(_state.label){
|
|
2772
|
+
case 0:
|
|
2773
|
+
return [
|
|
2774
|
+
4,
|
|
2775
|
+
fetch("".concat(superinterfaceContext.baseUrl, "/files"), {
|
|
2776
|
+
method: "POST",
|
|
2777
|
+
body: body2({
|
|
2778
|
+
variables: variables,
|
|
2779
|
+
superinterfaceContext: superinterfaceContext
|
|
2780
|
+
})
|
|
2781
|
+
})
|
|
2782
|
+
];
|
|
2783
|
+
case 1:
|
|
2784
|
+
response = _state.sent();
|
|
2785
|
+
return [
|
|
2786
|
+
4,
|
|
2787
|
+
response.json()
|
|
2788
|
+
];
|
|
2789
|
+
case 2:
|
|
2790
|
+
result = _state.sent();
|
|
2791
|
+
return [
|
|
2792
|
+
2,
|
|
2793
|
+
result
|
|
2794
|
+
];
|
|
2795
|
+
}
|
|
2796
|
+
});
|
|
2797
|
+
});
|
|
2798
|
+
return function(variables) {
|
|
2799
|
+
return _ref.apply(this, arguments);
|
|
2800
|
+
};
|
|
2801
|
+
}();
|
|
2802
|
+
};
|
|
2803
|
+
// src/hooks/files/useCreateFile/lib/mutationOptions/index.ts
|
|
2804
|
+
var mutationOptions2 = function(param) {
|
|
2805
|
+
var queryClient = param.queryClient, threadContext = param.threadContext, superinterfaceContext = param.superinterfaceContext, onError = param.onError;
|
|
2806
|
+
var mutationKey = [
|
|
2807
|
+
"createFile",
|
|
2808
|
+
threadContext.variables
|
|
2809
|
+
];
|
|
2810
|
+
return _object_spread_props(_object_spread({
|
|
2811
|
+
mutationFn: mutationFn2({
|
|
2812
|
+
queryClient: queryClient,
|
|
2813
|
+
superinterfaceContext: superinterfaceContext,
|
|
2814
|
+
threadContext: threadContext
|
|
2815
|
+
}),
|
|
2816
|
+
onError: onError
|
|
2817
|
+
}, threadContext.defaultOptions.mutations, queryClient.getMutationDefaults(mutationKey)), {
|
|
2818
|
+
mutationKey: mutationKey
|
|
2819
|
+
});
|
|
2820
|
+
};
|
|
2821
|
+
// src/hooks/files/useCreateFile/index.ts
|
|
2822
|
+
var useCreateFile = function() {
|
|
2823
|
+
var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
|
|
2824
|
+
onError: function() {}
|
|
2825
|
+
}, _ref_onError = _ref.onError, onError = _ref_onError === void 0 ? function() {} : _ref_onError;
|
|
2826
|
+
var queryClient = (0, import_react_query6.useQueryClient)();
|
|
2827
|
+
var superinterfaceContext = useSuperinterfaceContext();
|
|
2828
|
+
var threadContext = useSuperinterfaceContext();
|
|
2829
|
+
var props = (0, import_react_query6.useMutation)(mutationOptions2({
|
|
2830
|
+
queryClient: queryClient,
|
|
2831
|
+
threadContext: threadContext,
|
|
2832
|
+
superinterfaceContext: superinterfaceContext,
|
|
2833
|
+
onError: onError
|
|
2834
|
+
}));
|
|
2835
|
+
return _object_spread_props(_object_spread({}, props), {
|
|
2836
|
+
createFile: function() {
|
|
2837
|
+
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
2838
|
+
args[_key] = arguments[_key];
|
|
2839
|
+
}
|
|
2840
|
+
var _props;
|
|
2841
|
+
var _args = _to_array(args), firstArg = _args[0], restArgs = _args.slice(1);
|
|
2842
|
+
return (_props = props).mutateAsync.apply(_props, [
|
|
2843
|
+
_object_spread({}, threadContext.variables, firstArg)
|
|
2844
|
+
].concat(_to_consumable_array(restArgs)));
|
|
2845
|
+
}
|
|
2846
|
+
});
|
|
2847
|
+
};
|
|
2848
|
+
// src/components/threads/Thread/MessageForm/Field/Files/Control.tsx
|
|
2849
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2850
|
+
var accept = ".c,text/x-c,\n.cs,text/x-csharp,\n.cpp,text/x-c++,\n.doc,application/msword,\n.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document,\n.html,text/html,\n.java,text/x-java,\n.json,application/json,\n.md,text/markdown,\n.pdf,application/pdf,\n.php,text/x-php,\n.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation,\n.py,text/x-python,\n.py,text/x-script.python,\n.rb,text/x-ruby,\n.tex,text/x-tex,\n.txt,text/plain,\n.css,text/css,\n.js,text/javascript,\n.sh,application/x-sh,\n.ts,application/typescript";
|
|
2851
|
+
var Control2 = function() {
|
|
2852
|
+
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading, setFiles = _useMessageFormContext.setFiles;
|
|
2853
|
+
var createFile = useCreateFile().createFile;
|
|
2854
|
+
var addToast = useToasts().addToast;
|
|
2855
|
+
var onChange = (0, import_react37.useCallback)(function(event) {
|
|
2856
|
+
var files = event.target.files;
|
|
2857
|
+
if (!files) return;
|
|
2858
|
+
var newFiles = Array.from(files).map(function(file) {
|
|
2859
|
+
var id = optimisticId();
|
|
2860
|
+
createFile({
|
|
2861
|
+
file: file
|
|
2862
|
+
}, {
|
|
2863
|
+
onSuccess: function(param) {
|
|
2864
|
+
var file2 = param.file;
|
|
2865
|
+
setFiles(function(prev) {
|
|
2866
|
+
return _to_consumable_array(prev.filter(function(prevFile) {
|
|
2867
|
+
return prevFile.id !== id;
|
|
2868
|
+
})).concat([
|
|
2869
|
+
file2
|
|
2870
|
+
]);
|
|
2871
|
+
});
|
|
2872
|
+
},
|
|
2873
|
+
onError: function() {
|
|
2874
|
+
addToast({
|
|
2875
|
+
type: "error",
|
|
2876
|
+
message: "Could not upload file. Please try again."
|
|
2877
|
+
});
|
|
2878
|
+
setFiles(function(prev) {
|
|
2879
|
+
return prev.filter(function(prevFile) {
|
|
2880
|
+
return prevFile.id !== id;
|
|
2881
|
+
});
|
|
2882
|
+
});
|
|
2883
|
+
}
|
|
2884
|
+
});
|
|
2885
|
+
return {
|
|
2886
|
+
id: id,
|
|
2887
|
+
filename: file.name,
|
|
2888
|
+
object: "file",
|
|
2889
|
+
purpose: "assistants",
|
|
2890
|
+
created_at: (0, import_dayjs2.default)().unix(),
|
|
2891
|
+
bytes: file.size,
|
|
2892
|
+
status: "processed"
|
|
2893
|
+
};
|
|
2894
|
+
});
|
|
2895
|
+
setFiles(function(prev) {
|
|
2896
|
+
return _to_consumable_array(prev).concat(_to_consumable_array(newFiles));
|
|
2897
|
+
});
|
|
2898
|
+
}, []);
|
|
2899
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes36.Flex, {
|
|
2900
|
+
pt: "2",
|
|
2901
|
+
pr: "2",
|
|
2902
|
+
flexGrow: "0",
|
|
2903
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_themes36.IconButton, {
|
|
2904
|
+
type: "button",
|
|
2905
|
+
variant: "ghost",
|
|
2906
|
+
color: "gray",
|
|
2907
|
+
disabled: isDisabled || isLoading,
|
|
2908
|
+
style: {
|
|
2909
|
+
position: "relative",
|
|
2910
|
+
overflow: "hidden"
|
|
2911
|
+
},
|
|
2912
|
+
children: [
|
|
2913
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons8.FilePlusIcon, {}),
|
|
2914
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("input", {
|
|
2915
|
+
type: "file",
|
|
2916
|
+
accept: accept,
|
|
2917
|
+
onChange: onChange,
|
|
2918
|
+
style: {
|
|
2919
|
+
cursor: "pointer",
|
|
2920
|
+
position: "absolute",
|
|
2921
|
+
top: 0,
|
|
2922
|
+
left: 0,
|
|
2923
|
+
right: 0,
|
|
2924
|
+
bottom: 0,
|
|
2925
|
+
opacity: 0
|
|
2926
|
+
}
|
|
2927
|
+
})
|
|
2928
|
+
]
|
|
2929
|
+
})
|
|
2930
|
+
});
|
|
2931
|
+
};
|
|
2932
|
+
// src/components/threads/Thread/MessageForm/Field/Files/index.tsx
|
|
2933
|
+
var Files = {
|
|
2934
|
+
Preview: Preview,
|
|
2935
|
+
Control: Control2
|
|
2936
|
+
};
|
|
2937
|
+
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2938
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2939
|
+
var Root6 = function(param) {
|
|
2940
|
+
var children = param.children;
|
|
2941
|
+
var _ref = (0, import_react_hook_form3.useFormContext)(), errors = _ref.formState.errors;
|
|
2942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Container, {
|
|
2943
|
+
size: "2",
|
|
2944
|
+
flexGrow: "0",
|
|
2945
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Flex, {
|
|
2946
|
+
direction: "column",
|
|
2947
|
+
flexShrink: "0",
|
|
2948
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Flex, {
|
|
2949
|
+
direction: "column",
|
|
2950
|
+
flexShrink: "0",
|
|
2951
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Flex, {
|
|
2952
|
+
style: _object_spread({
|
|
2953
|
+
borderRadius: "var(--radius-2)",
|
|
2954
|
+
borderWidth: "1px",
|
|
2955
|
+
borderStyle: "solid",
|
|
2956
|
+
borderColor: errors.content ? "var(--red-9)" : "var(--gray-5)"
|
|
2957
|
+
}, errors.content ? {
|
|
2958
|
+
backgroundColor: "var(--red-2)"
|
|
2959
|
+
} : {}),
|
|
2960
|
+
p: "2",
|
|
2961
|
+
pl: "3",
|
|
2962
|
+
wrap: "wrap",
|
|
2963
|
+
children: children
|
|
2964
|
+
})
|
|
2965
|
+
})
|
|
2966
|
+
})
|
|
2967
|
+
});
|
|
2968
|
+
};
|
|
2969
|
+
var Field = {
|
|
2970
|
+
Root: Root6,
|
|
2971
|
+
Control: Control,
|
|
2972
|
+
Files: Files
|
|
2973
|
+
};
|
|
2974
|
+
// src/components/threads/Thread/MessageForm/index.tsx
|
|
2975
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2976
|
+
var MessageForm = function() {
|
|
2977
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Root4, {
|
|
2978
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Field.Root, {
|
|
2979
|
+
children: [
|
|
2980
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Field.Control, {}),
|
|
2981
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Submit, {})
|
|
2982
|
+
]
|
|
2983
|
+
})
|
|
2984
|
+
});
|
|
2985
|
+
};
|
|
2986
|
+
MessageForm.Root = Root4;
|
|
2987
|
+
MessageForm.Field = Field;
|
|
2988
|
+
MessageForm.Submit = Submit;
|
|
2989
|
+
// src/components/threads/Thread/Root/index.tsx
|
|
2990
|
+
var import_themes38 = require("@radix-ui/themes");
|
|
2991
|
+
// src/components/threads/Thread/Provider/index.tsx
|
|
2992
|
+
var Provider2 = SuperinterfaceProvider;
|
|
2993
|
+
// src/components/threads/Thread/Root/index.tsx
|
|
2994
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2995
|
+
var Root7 = function(_param) {
|
|
2599
2996
|
var children = _param.children, rest = _object_without_properties(_param, [
|
|
2600
2997
|
"children"
|
|
2601
2998
|
]);
|
|
2602
|
-
return /* @__PURE__ */ (0,
|
|
2603
|
-
children: /* @__PURE__ */ (0,
|
|
2999
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
|
|
3000
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes38.Flex, {
|
|
2604
3001
|
direction: "column",
|
|
2605
3002
|
flexGrow: "1",
|
|
2606
3003
|
children: children
|
|
@@ -2608,43 +3005,43 @@ var Root5 = function(_param) {
|
|
|
2608
3005
|
}));
|
|
2609
3006
|
};
|
|
2610
3007
|
// src/components/threads/Thread/index.tsx
|
|
2611
|
-
var
|
|
3008
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
2612
3009
|
var Thread = function(props) {
|
|
2613
|
-
return /* @__PURE__ */ (0,
|
|
3010
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Root7, _object_spread_props(_object_spread({}, props), {
|
|
2614
3011
|
children: [
|
|
2615
|
-
/* @__PURE__ */ (0,
|
|
2616
|
-
/* @__PURE__ */ (0,
|
|
3012
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Messages, {}),
|
|
3013
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(MessageForm, {})
|
|
2617
3014
|
]
|
|
2618
3015
|
}));
|
|
2619
3016
|
};
|
|
2620
|
-
Thread.Root =
|
|
3017
|
+
Thread.Root = Root7;
|
|
2621
3018
|
Thread.Messages = Messages;
|
|
2622
3019
|
Thread.MessageForm = MessageForm;
|
|
2623
3020
|
// src/hooks/messages/useMessageContext/index.ts
|
|
2624
|
-
var
|
|
3021
|
+
var import_react38 = require("react");
|
|
2625
3022
|
var useMessageContext = function() {
|
|
2626
|
-
return (0,
|
|
3023
|
+
return (0, import_react38.useContext)(MessageContext);
|
|
2627
3024
|
};
|
|
2628
3025
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2629
|
-
var
|
|
3026
|
+
var import_react41 = require("react");
|
|
2630
3027
|
// src/contexts/threads/ThreadDialogContext/index.ts
|
|
2631
|
-
var
|
|
2632
|
-
var ThreadDialogContext = (0,
|
|
3028
|
+
var import_react39 = require("react");
|
|
3029
|
+
var ThreadDialogContext = (0, import_react39.createContext)({
|
|
2633
3030
|
isOpen: false,
|
|
2634
3031
|
setIsOpen: function() {}
|
|
2635
3032
|
});
|
|
2636
3033
|
// src/hooks/threads/useThreadDialogContext/index.ts
|
|
2637
|
-
var
|
|
3034
|
+
var import_react40 = require("react");
|
|
2638
3035
|
var useThreadDialogContext = function() {
|
|
2639
|
-
return (0,
|
|
3036
|
+
return (0, import_react40.useContext)(ThreadDialogContext);
|
|
2640
3037
|
};
|
|
2641
3038
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2642
|
-
var
|
|
3039
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
2643
3040
|
var Provider3 = function(param) {
|
|
2644
3041
|
var children = param.children;
|
|
2645
3042
|
var threadDialogContext = useThreadDialogContext();
|
|
2646
|
-
var _ref = _sliced_to_array((0,
|
|
2647
|
-
return /* @__PURE__ */ (0,
|
|
3043
|
+
var _ref = _sliced_to_array((0, import_react41.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
|
|
3044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ThreadDialogContext.Provider, {
|
|
2648
3045
|
value: {
|
|
2649
3046
|
isOpen: isOpen,
|
|
2650
3047
|
setIsOpen: setIsOpen
|
|
@@ -2653,31 +3050,31 @@ var Provider3 = function(param) {
|
|
|
2653
3050
|
});
|
|
2654
3051
|
};
|
|
2655
3052
|
// src/components/toasts/ToastsProvider/index.tsx
|
|
2656
|
-
var
|
|
3053
|
+
var import_react42 = require("react");
|
|
2657
3054
|
var Toast2 = __toESM(require("@radix-ui/react-toast"), 1);
|
|
2658
3055
|
// src/components/toasts/ToastsProvider/CustomToast.tsx
|
|
2659
3056
|
var Toast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
2660
|
-
var
|
|
2661
|
-
var
|
|
2662
|
-
var
|
|
3057
|
+
var import_themes39 = require("@radix-ui/themes");
|
|
3058
|
+
var import_react_icons9 = require("@radix-ui/react-icons");
|
|
3059
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
2663
3060
|
var CustomToast = function(param) {
|
|
2664
3061
|
var toast = param.toast;
|
|
2665
|
-
return /* @__PURE__ */ (0,
|
|
2666
|
-
children: /* @__PURE__ */ (0,
|
|
2667
|
-
children: /* @__PURE__ */ (0,
|
|
2668
|
-
children: /* @__PURE__ */ (0,
|
|
3062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Toast.Root, {
|
|
3063
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes39.Card, {
|
|
3064
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Toast.Title, {
|
|
3065
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_themes39.Flex, {
|
|
2669
3066
|
children: [
|
|
2670
|
-
/* @__PURE__ */ (0,
|
|
3067
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes39.Flex, {
|
|
2671
3068
|
pr: "2",
|
|
2672
3069
|
height: "14px",
|
|
2673
3070
|
align: "center",
|
|
2674
|
-
children: toast.type === "success" ? /* @__PURE__ */ (0,
|
|
3071
|
+
children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons9.CheckCircledIcon, {
|
|
2675
3072
|
color: "var(--accent-9)"
|
|
2676
|
-
}) : /* @__PURE__ */ (0,
|
|
3073
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons9.CrossCircledIcon, {
|
|
2677
3074
|
color: "var(--red-9)"
|
|
2678
3075
|
})
|
|
2679
3076
|
}),
|
|
2680
|
-
/* @__PURE__ */ (0,
|
|
3077
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes39.Text, {
|
|
2681
3078
|
weight: "medium",
|
|
2682
3079
|
size: "1",
|
|
2683
3080
|
children: toast.message
|
|
@@ -2689,31 +3086,31 @@ var CustomToast = function(param) {
|
|
|
2689
3086
|
});
|
|
2690
3087
|
};
|
|
2691
3088
|
// src/components/toasts/ToastsProvider/index.tsx
|
|
2692
|
-
var
|
|
3089
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
2693
3090
|
var ToastsProvider = function(param) {
|
|
2694
3091
|
var children = param.children;
|
|
2695
|
-
var _ref = _sliced_to_array((0,
|
|
2696
|
-
var addToast = (0,
|
|
3092
|
+
var _ref = _sliced_to_array((0, import_react42.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
|
|
3093
|
+
var addToast = (0, import_react42.useCallback)(function(toast) {
|
|
2697
3094
|
return setToasts(function(prevToasts) {
|
|
2698
3095
|
return _to_consumable_array(prevToasts).concat([
|
|
2699
3096
|
toast
|
|
2700
3097
|
]);
|
|
2701
3098
|
});
|
|
2702
3099
|
}, []);
|
|
2703
|
-
return /* @__PURE__ */ (0,
|
|
3100
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ToastsContext.Provider, {
|
|
2704
3101
|
value: {
|
|
2705
3102
|
toasts: toasts,
|
|
2706
3103
|
addToast: addToast
|
|
2707
3104
|
},
|
|
2708
|
-
children: /* @__PURE__ */ (0,
|
|
3105
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Toast2.Provider, {
|
|
2709
3106
|
children: [
|
|
2710
3107
|
children,
|
|
2711
3108
|
Array.from(toasts).map(function(toast, index) {
|
|
2712
|
-
return /* @__PURE__ */ (0,
|
|
3109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(CustomToast, {
|
|
2713
3110
|
toast: toast
|
|
2714
3111
|
}, index);
|
|
2715
3112
|
}),
|
|
2716
|
-
/* @__PURE__ */ (0,
|
|
3113
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Toast2.Viewport, {
|
|
2717
3114
|
style: {
|
|
2718
3115
|
position: "absolute",
|
|
2719
3116
|
bottom: 0,
|
|
@@ -2735,22 +3132,34 @@ var ToastsProvider = function(param) {
|
|
|
2735
3132
|
});
|
|
2736
3133
|
};
|
|
2737
3134
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2738
|
-
var
|
|
2739
|
-
var
|
|
3135
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3136
|
+
var Root9 = function(param) {
|
|
2740
3137
|
var children = param.children;
|
|
2741
|
-
return /* @__PURE__ */ (0,
|
|
2742
|
-
children: /* @__PURE__ */ (0,
|
|
3138
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ToastsProvider, {
|
|
3139
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Provider3, {
|
|
2743
3140
|
children: children
|
|
2744
3141
|
})
|
|
2745
3142
|
});
|
|
2746
3143
|
};
|
|
2747
3144
|
// src/components/threads/ThreadDialog/Trigger/index.tsx
|
|
2748
|
-
var
|
|
2749
|
-
|
|
2750
|
-
var
|
|
3145
|
+
var import_themes41 = require("@radix-ui/themes");
|
|
3146
|
+
// src/components/threads/ThreadDialog/Trigger/Button.tsx
|
|
3147
|
+
var import_themes40 = require("@radix-ui/themes");
|
|
3148
|
+
var import_react_icons10 = require("@radix-ui/react-icons");
|
|
3149
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3150
|
+
var Button3 = function() {
|
|
3151
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes40.IconButton, {
|
|
3152
|
+
size: "4",
|
|
3153
|
+
radius: "full",
|
|
3154
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_icons10.ChatBubbleIcon, {})
|
|
3155
|
+
});
|
|
3156
|
+
};
|
|
3157
|
+
// src/components/threads/ThreadDialog/Trigger/index.tsx
|
|
3158
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
3159
|
+
var Root10 = function(param) {
|
|
2751
3160
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2752
3161
|
var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
|
|
2753
|
-
return /* @__PURE__ */ (0,
|
|
3162
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes41.Flex, {
|
|
2754
3163
|
display: {
|
|
2755
3164
|
initial: isOpen ? "none" : "flex",
|
|
2756
3165
|
sm: "flex"
|
|
@@ -2773,26 +3182,22 @@ var Trigger = function(param) {
|
|
|
2773
3182
|
children: children
|
|
2774
3183
|
});
|
|
2775
3184
|
};
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
var Button2 = function() {
|
|
2781
|
-
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes40.IconButton, {
|
|
2782
|
-
size: "4",
|
|
2783
|
-
radius: "full",
|
|
2784
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.ChatBubbleIcon, {})
|
|
2785
|
-
});
|
|
3185
|
+
var Trigger = function(args) {
|
|
3186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Root10, _object_spread_props(_object_spread({}, args), {
|
|
3187
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button3, {})
|
|
3188
|
+
}));
|
|
2786
3189
|
};
|
|
3190
|
+
Trigger.Root = Root10;
|
|
3191
|
+
Trigger.Button = Button3;
|
|
2787
3192
|
// src/components/threads/ThreadDialog/Content/index.tsx
|
|
2788
|
-
var
|
|
3193
|
+
var import_themes43 = require("@radix-ui/themes");
|
|
2789
3194
|
// src/components/threads/ThreadDialog/Close/index.tsx
|
|
2790
|
-
var
|
|
2791
|
-
var
|
|
2792
|
-
var
|
|
3195
|
+
var import_react_icons11 = require("@radix-ui/react-icons");
|
|
3196
|
+
var import_themes42 = require("@radix-ui/themes");
|
|
3197
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
2793
3198
|
var Close = function() {
|
|
2794
3199
|
var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
|
|
2795
|
-
return /* @__PURE__ */ (0,
|
|
3200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes42.Flex, {
|
|
2796
3201
|
display: {
|
|
2797
3202
|
initial: isOpen ? "flex" : "none",
|
|
2798
3203
|
sm: "none"
|
|
@@ -2812,20 +3217,20 @@ var Close = function() {
|
|
|
2812
3217
|
style: {
|
|
2813
3218
|
zIndex: 9999999999
|
|
2814
3219
|
},
|
|
2815
|
-
children: /* @__PURE__ */ (0,
|
|
3220
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes42.IconButton, {
|
|
2816
3221
|
size: "2",
|
|
2817
3222
|
variant: "soft",
|
|
2818
|
-
children: /* @__PURE__ */ (0,
|
|
3223
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_react_icons11.Cross1Icon, {})
|
|
2819
3224
|
})
|
|
2820
3225
|
});
|
|
2821
3226
|
};
|
|
2822
3227
|
// src/components/threads/ThreadDialog/Content/index.tsx
|
|
2823
|
-
var
|
|
2824
|
-
var
|
|
3228
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
3229
|
+
var Root11 = function(param) {
|
|
2825
3230
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2826
3231
|
var isOpen = useThreadDialogContext().isOpen;
|
|
2827
3232
|
if (!isOpen) return null;
|
|
2828
|
-
return /* @__PURE__ */ (0,
|
|
3233
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes43.Flex, {
|
|
2829
3234
|
direction: "column",
|
|
2830
3235
|
justify: "end",
|
|
2831
3236
|
position: "fixed",
|
|
@@ -2853,7 +3258,7 @@ var Root8 = function(param) {
|
|
|
2853
3258
|
style: _object_spread({
|
|
2854
3259
|
zIndex: 9999999999
|
|
2855
3260
|
}, style),
|
|
2856
|
-
children: /* @__PURE__ */ (0,
|
|
3261
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes43.Card, {
|
|
2857
3262
|
mb: {
|
|
2858
3263
|
initial: void 0,
|
|
2859
3264
|
sm: "3"
|
|
@@ -2864,7 +3269,7 @@ var Root8 = function(param) {
|
|
|
2864
3269
|
flexGrow: 1
|
|
2865
3270
|
},
|
|
2866
3271
|
children: [
|
|
2867
|
-
/* @__PURE__ */ (0,
|
|
3272
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes43.Inset, {
|
|
2868
3273
|
clip: "padding-box",
|
|
2869
3274
|
side: "all",
|
|
2870
3275
|
pb: "current",
|
|
@@ -2874,59 +3279,67 @@ var Root8 = function(param) {
|
|
|
2874
3279
|
},
|
|
2875
3280
|
children: children
|
|
2876
3281
|
}),
|
|
2877
|
-
/* @__PURE__ */ (0,
|
|
3282
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Close, {})
|
|
2878
3283
|
]
|
|
2879
3284
|
})
|
|
2880
3285
|
});
|
|
2881
3286
|
};
|
|
3287
|
+
var Messages2 = function() {
|
|
3288
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Thread.Messages, {
|
|
3289
|
+
style: {
|
|
3290
|
+
paddingTop: "var(--space-5)",
|
|
3291
|
+
paddingRight: "var(--space-5)",
|
|
3292
|
+
paddingLeft: "var(--space-5)"
|
|
3293
|
+
}
|
|
3294
|
+
});
|
|
3295
|
+
};
|
|
3296
|
+
var FormContainer = function(param) {
|
|
3297
|
+
var children = param.children;
|
|
3298
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes43.Flex, {
|
|
3299
|
+
direction: "column",
|
|
3300
|
+
pl: "5",
|
|
3301
|
+
pr: "5",
|
|
3302
|
+
pb: "3",
|
|
3303
|
+
flexShrink: "0",
|
|
3304
|
+
children: children
|
|
3305
|
+
});
|
|
3306
|
+
};
|
|
2882
3307
|
var Content4 = function(param) {
|
|
2883
3308
|
var _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2884
|
-
return /* @__PURE__ */ (0,
|
|
3309
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Root11, {
|
|
2885
3310
|
style: style,
|
|
2886
|
-
children: /* @__PURE__ */ (0,
|
|
3311
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Thread.Root, {
|
|
2887
3312
|
children: [
|
|
2888
|
-
/* @__PURE__ */ (0,
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
paddingRight: "var(--space-5)",
|
|
2892
|
-
paddingLeft: "var(--space-5)"
|
|
2893
|
-
}
|
|
2894
|
-
}),
|
|
2895
|
-
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.Flex, {
|
|
2896
|
-
direction: "column",
|
|
2897
|
-
pl: "5",
|
|
2898
|
-
pr: "5",
|
|
2899
|
-
pb: "3",
|
|
2900
|
-
flexShrink: "0",
|
|
2901
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Thread.MessageForm, {})
|
|
3313
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Messages2, {}),
|
|
3314
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(FormContainer, {
|
|
3315
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Thread.MessageForm, {})
|
|
2902
3316
|
})
|
|
2903
3317
|
]
|
|
2904
3318
|
})
|
|
2905
3319
|
});
|
|
2906
3320
|
};
|
|
2907
|
-
Content4.Root =
|
|
3321
|
+
Content4.Root = Root11;
|
|
3322
|
+
Content4.Messages = Messages2;
|
|
3323
|
+
Content4.FormContainer = FormContainer;
|
|
2908
3324
|
// src/components/threads/ThreadDialog/index.tsx
|
|
2909
|
-
var
|
|
3325
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
2910
3326
|
var ThreadDialog = function() {
|
|
2911
|
-
return /* @__PURE__ */ (0,
|
|
3327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Root9, {
|
|
2912
3328
|
children: [
|
|
2913
|
-
/* @__PURE__ */ (0,
|
|
2914
|
-
/* @__PURE__ */ (0,
|
|
2915
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Button2, {})
|
|
2916
|
-
})
|
|
3329
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Content4, {}),
|
|
3330
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Trigger, {})
|
|
2917
3331
|
]
|
|
2918
3332
|
});
|
|
2919
3333
|
};
|
|
2920
|
-
ThreadDialog.Root =
|
|
3334
|
+
ThreadDialog.Root = Root9;
|
|
2921
3335
|
ThreadDialog.Trigger = Trigger;
|
|
2922
|
-
ThreadDialog.Button = Button2;
|
|
2923
3336
|
ThreadDialog.Content = Content4;
|
|
2924
3337
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2925
3338
|
var import_runtime = require("regenerator-runtime/runtime");
|
|
2926
|
-
var
|
|
3339
|
+
var import_themes44 = require("@radix-ui/themes");
|
|
2927
3340
|
// src/contexts/threads/AudioThreadContext/index.ts
|
|
2928
|
-
var
|
|
2929
|
-
var AudioThreadContext = (0,
|
|
3341
|
+
var import_react43 = require("react");
|
|
3342
|
+
var AudioThreadContext = (0, import_react43.createContext)({
|
|
2930
3343
|
status: "idle",
|
|
2931
3344
|
recorderProps: {
|
|
2932
3345
|
status: "idle",
|
|
@@ -2994,11 +3407,11 @@ var blobToData = function(blob) {
|
|
|
2994
3407
|
});
|
|
2995
3408
|
};
|
|
2996
3409
|
// src/hooks/audioThreads/useStatus/index.ts
|
|
2997
|
-
var
|
|
3410
|
+
var import_react44 = require("react");
|
|
2998
3411
|
var useStatus = function(param) {
|
|
2999
3412
|
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
|
|
3000
3413
|
var latestMessageProps = useLatestMessage();
|
|
3001
|
-
var status = (0,
|
|
3414
|
+
var status = (0, import_react44.useMemo)(function() {
|
|
3002
3415
|
var _latestMessageProps_latestMessage;
|
|
3003
3416
|
if (recorderProps.status === "recording") return "recording";
|
|
3004
3417
|
if (createMessageProps.isPending) return "creatingMessage";
|
|
@@ -3020,21 +3433,21 @@ var useStatus = function(param) {
|
|
|
3020
3433
|
};
|
|
3021
3434
|
};
|
|
3022
3435
|
// src/hooks/audioThreads/useRecorder/index.ts
|
|
3023
|
-
var
|
|
3436
|
+
var import_dayjs3 = __toESM(require("dayjs"), 1);
|
|
3024
3437
|
var import_use_audio_capture = require("use-audio-capture");
|
|
3025
|
-
var
|
|
3438
|
+
var import_react45 = require("react");
|
|
3026
3439
|
var import_react_use_audio_player = require("react-use-audio-player");
|
|
3027
3440
|
var import_react_use2 = require("react-use");
|
|
3028
3441
|
var useRecorder = function(param) {
|
|
3029
3442
|
var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
|
|
3030
|
-
var _ref = _sliced_to_array((0,
|
|
3031
|
-
var _ref1 = _sliced_to_array((0,
|
|
3032
|
-
var _ref2 = _sliced_to_array((0,
|
|
3033
|
-
var _ref3 = _sliced_to_array((0,
|
|
3443
|
+
var _ref = _sliced_to_array((0, import_react45.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
|
|
3444
|
+
var _ref1 = _sliced_to_array((0, import_react45.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
|
|
3445
|
+
var _ref2 = _sliced_to_array((0, import_react45.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
|
|
3446
|
+
var _ref3 = _sliced_to_array((0, import_react45.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
|
|
3034
3447
|
var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
3035
3448
|
var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
3036
|
-
var _ref4 = _sliced_to_array((0,
|
|
3037
|
-
(0,
|
|
3449
|
+
var _ref4 = _sliced_to_array((0, import_react45.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
|
|
3450
|
+
(0, import_react45.useEffect)(function() {
|
|
3038
3451
|
if (isLoaded) return;
|
|
3039
3452
|
setIsLoaded(true);
|
|
3040
3453
|
}, [
|
|
@@ -3092,9 +3505,9 @@ var useRecorder = function(param) {
|
|
|
3092
3505
|
setNoiseStart(null);
|
|
3093
3506
|
}
|
|
3094
3507
|
});
|
|
3095
|
-
var _ref5 = _sliced_to_array((0,
|
|
3096
|
-
var isInited = (0,
|
|
3097
|
-
(0,
|
|
3508
|
+
var _ref5 = _sliced_to_array((0, import_react45.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
|
|
3509
|
+
var isInited = (0, import_react45.useRef)(false);
|
|
3510
|
+
(0, import_react45.useEffect)(function() {
|
|
3098
3511
|
if (!mediaStream) return;
|
|
3099
3512
|
if (isInited.current) return;
|
|
3100
3513
|
isInited.current = true;
|
|
@@ -3107,7 +3520,7 @@ var useRecorder = function(param) {
|
|
|
3107
3520
|
isInited,
|
|
3108
3521
|
mediaStream
|
|
3109
3522
|
]);
|
|
3110
|
-
var visualizationAnalyser = (0,
|
|
3523
|
+
var visualizationAnalyser = (0, import_react45.useMemo)(function() {
|
|
3111
3524
|
if (!audioEngine) return null;
|
|
3112
3525
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3113
3526
|
audioEngine.source.connect(result);
|
|
@@ -3115,7 +3528,7 @@ var useRecorder = function(param) {
|
|
|
3115
3528
|
}, [
|
|
3116
3529
|
audioEngine
|
|
3117
3530
|
]);
|
|
3118
|
-
var silenceAnalyser = (0,
|
|
3531
|
+
var silenceAnalyser = (0, import_react45.useMemo)(function() {
|
|
3119
3532
|
if (!audioEngine) return null;
|
|
3120
3533
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3121
3534
|
result.minDecibels = -60;
|
|
@@ -3124,7 +3537,7 @@ var useRecorder = function(param) {
|
|
|
3124
3537
|
}, [
|
|
3125
3538
|
audioEngine
|
|
3126
3539
|
]);
|
|
3127
|
-
var handleSilence = (0,
|
|
3540
|
+
var handleSilence = (0, import_react45.useCallback)(function() {
|
|
3128
3541
|
if (!silenceAnalyser) return;
|
|
3129
3542
|
var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
|
|
3130
3543
|
silenceAnalyser.getByteFrequencyData(frequencyData);
|
|
@@ -3132,12 +3545,12 @@ var useRecorder = function(param) {
|
|
|
3132
3545
|
return f === 0;
|
|
3133
3546
|
});
|
|
3134
3547
|
setSilenceStart(function(silenceStart2) {
|
|
3135
|
-
if (isSilent) return silenceStart2 || (0,
|
|
3548
|
+
if (isSilent) return silenceStart2 || (0, import_dayjs3.default)();
|
|
3136
3549
|
return null;
|
|
3137
3550
|
});
|
|
3138
3551
|
setNoiseStart(function(noiseStart2) {
|
|
3139
3552
|
if (isSilent) return noiseStart2;
|
|
3140
|
-
return noiseStart2 || (0,
|
|
3553
|
+
return noiseStart2 || (0, import_dayjs3.default)();
|
|
3141
3554
|
});
|
|
3142
3555
|
requestAnimationFrame(function() {
|
|
3143
3556
|
return handleSilence();
|
|
@@ -3147,7 +3560,7 @@ var useRecorder = function(param) {
|
|
|
3147
3560
|
setNoiseStart,
|
|
3148
3561
|
setSilenceStart
|
|
3149
3562
|
]);
|
|
3150
|
-
(0,
|
|
3563
|
+
(0, import_react45.useEffect)(function() {
|
|
3151
3564
|
if (!isStopOnSilence) return;
|
|
3152
3565
|
requestAnimationFrame(function() {
|
|
3153
3566
|
return handleSilence();
|
|
@@ -3161,7 +3574,7 @@ var useRecorder = function(param) {
|
|
|
3161
3574
|
if (status !== "recording") return;
|
|
3162
3575
|
if (!silenceStart) return;
|
|
3163
3576
|
if (!noiseStart) return;
|
|
3164
|
-
if (!silenceStart.isBefore((0,
|
|
3577
|
+
if (!silenceStart.isBefore((0, import_dayjs3.default)().subtract(1.5, "second"))) return;
|
|
3165
3578
|
audioCaptureProps.stop();
|
|
3166
3579
|
}, 300);
|
|
3167
3580
|
return _object_spread_props(_object_spread({}, audioCaptureProps), {
|
|
@@ -3170,7 +3583,7 @@ var useRecorder = function(param) {
|
|
|
3170
3583
|
});
|
|
3171
3584
|
};
|
|
3172
3585
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
3173
|
-
var
|
|
3586
|
+
var import_react46 = require("react");
|
|
3174
3587
|
var import_compromise = __toESM(require("compromise"), 1);
|
|
3175
3588
|
var import_howler = require("howler");
|
|
3176
3589
|
var import_react_use_audio_player2 = require("react-use-audio-player");
|
|
@@ -3208,15 +3621,15 @@ var getMessageSentences = function(param) {
|
|
|
3208
3621
|
};
|
|
3209
3622
|
var useMessageAudio = function(param) {
|
|
3210
3623
|
var onEnd = param.onEnd;
|
|
3211
|
-
var _ref = _sliced_to_array((0,
|
|
3212
|
-
var _ref1 = _sliced_to_array((0,
|
|
3213
|
-
var _ref2 = _sliced_to_array((0,
|
|
3624
|
+
var _ref = _sliced_to_array((0, import_react46.useState)(false), 2), isAudioPlayed = _ref[0], setIsAudioPlayed = _ref[1];
|
|
3625
|
+
var _ref1 = _sliced_to_array((0, import_react46.useState)([]), 2), stoppedMessageIds = _ref1[0], setStoppedMessageIds = _ref1[1];
|
|
3626
|
+
var _ref2 = _sliced_to_array((0, import_react46.useState)([]), 2), playedMessageSentences = _ref2[0], setPlayedMessageSentences = _ref2[1];
|
|
3214
3627
|
var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
3215
3628
|
var nextAudioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
3216
3629
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
3217
|
-
var _ref3 = _sliced_to_array((0,
|
|
3630
|
+
var _ref3 = _sliced_to_array((0, import_react46.useState)(false), 2), isPlaying = _ref3[0], setIsPlaying = _ref3[1];
|
|
3218
3631
|
var latestMessageProps = useLatestMessage();
|
|
3219
|
-
var unplayedMessageSentences = (0,
|
|
3632
|
+
var unplayedMessageSentences = (0, import_react46.useMemo)(function() {
|
|
3220
3633
|
if (!latestMessageProps.latestMessage) return [];
|
|
3221
3634
|
if (latestMessageProps.latestMessage.role !== "assistant") return [];
|
|
3222
3635
|
if (stoppedMessageIds.includes(latestMessageProps.latestMessage.id)) return [];
|
|
@@ -3237,7 +3650,7 @@ var useMessageAudio = function(param) {
|
|
|
3237
3650
|
latestMessageProps,
|
|
3238
3651
|
playedMessageSentences
|
|
3239
3652
|
]);
|
|
3240
|
-
(0,
|
|
3653
|
+
(0, import_react46.useEffect)(function() {
|
|
3241
3654
|
if (isPlaying) return;
|
|
3242
3655
|
if (audioPlayer.playing) return;
|
|
3243
3656
|
if (!latestMessageProps.latestMessage) return;
|
|
@@ -3305,7 +3718,7 @@ var useMessageAudio = function(param) {
|
|
|
3305
3718
|
playedMessageSentences,
|
|
3306
3719
|
onEnd
|
|
3307
3720
|
]);
|
|
3308
|
-
(0,
|
|
3721
|
+
(0, import_react46.useEffect)(function() {
|
|
3309
3722
|
if (isHtmlAudioSupported) {
|
|
3310
3723
|
var _import_howler_Howler__howls___sounds_, _import_howler_Howler__howls_, _import_howler_Howler;
|
|
3311
3724
|
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;
|
|
@@ -3314,9 +3727,9 @@ var useMessageAudio = function(param) {
|
|
|
3314
3727
|
}, [
|
|
3315
3728
|
audioPlayer
|
|
3316
3729
|
]);
|
|
3317
|
-
var _ref4 = _sliced_to_array((0,
|
|
3318
|
-
var isAudioEngineInited = (0,
|
|
3319
|
-
(0,
|
|
3730
|
+
var _ref4 = _sliced_to_array((0, import_react46.useState)(null), 2), audioEngine = _ref4[0], setAudioEngine = _ref4[1];
|
|
3731
|
+
var isAudioEngineInited = (0, import_react46.useRef)(false);
|
|
3732
|
+
(0, import_react46.useEffect)(function() {
|
|
3320
3733
|
if (!audioPlayer.playing) return;
|
|
3321
3734
|
if (isAudioEngineInited.current) return;
|
|
3322
3735
|
isAudioEngineInited.current = true;
|
|
@@ -3337,7 +3750,7 @@ var useMessageAudio = function(param) {
|
|
|
3337
3750
|
audioPlayer,
|
|
3338
3751
|
isAudioEngineInited
|
|
3339
3752
|
]);
|
|
3340
|
-
var visualizationAnalyser = (0,
|
|
3753
|
+
var visualizationAnalyser = (0, import_react46.useMemo)(function() {
|
|
3341
3754
|
if (!audioEngine) return null;
|
|
3342
3755
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3343
3756
|
audioEngine.source.connect(audioEngine.audioContext.destination);
|
|
@@ -3346,7 +3759,7 @@ var useMessageAudio = function(param) {
|
|
|
3346
3759
|
}, [
|
|
3347
3760
|
audioEngine
|
|
3348
3761
|
]);
|
|
3349
|
-
var isPending = (0,
|
|
3762
|
+
var isPending = (0, import_react46.useMemo)(function() {
|
|
3350
3763
|
return isPlaying || unplayedMessageSentences.length > 0;
|
|
3351
3764
|
}, [
|
|
3352
3765
|
isPlaying,
|
|
@@ -3360,8 +3773,8 @@ var useMessageAudio = function(param) {
|
|
|
3360
3773
|
});
|
|
3361
3774
|
};
|
|
3362
3775
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
3363
|
-
var
|
|
3364
|
-
var
|
|
3776
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
3777
|
+
var Root12 = function(param) {
|
|
3365
3778
|
var children = param.children;
|
|
3366
3779
|
var createMessageProps = useCreateMessage();
|
|
3367
3780
|
var recorderProps = useRecorder({
|
|
@@ -3418,13 +3831,13 @@ var Root9 = function(param) {
|
|
|
3418
3831
|
createMessageProps: createMessageProps,
|
|
3419
3832
|
messageAudioProps: messageAudioProps
|
|
3420
3833
|
}).status;
|
|
3421
|
-
return /* @__PURE__ */ (0,
|
|
3834
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AudioThreadContext.Provider, {
|
|
3422
3835
|
value: {
|
|
3423
3836
|
status: status,
|
|
3424
3837
|
recorderProps: recorderProps,
|
|
3425
3838
|
messageAudioProps: messageAudioProps
|
|
3426
3839
|
},
|
|
3427
|
-
children: /* @__PURE__ */ (0,
|
|
3840
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes44.Flex, {
|
|
3428
3841
|
direction: "column",
|
|
3429
3842
|
flexGrow: "1",
|
|
3430
3843
|
p: "9",
|
|
@@ -3433,25 +3846,25 @@ var Root9 = function(param) {
|
|
|
3433
3846
|
});
|
|
3434
3847
|
};
|
|
3435
3848
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3436
|
-
var
|
|
3849
|
+
var import_react49 = require("react");
|
|
3437
3850
|
var import_lodash9 = __toESM(require("lodash"), 1);
|
|
3438
|
-
var
|
|
3851
|
+
var import_themes46 = require("@radix-ui/themes");
|
|
3439
3852
|
// src/hooks/threads/useAudioThreadContext/index.ts
|
|
3440
|
-
var
|
|
3853
|
+
var import_react47 = require("react");
|
|
3441
3854
|
var useAudioThreadContext = function() {
|
|
3442
|
-
return (0,
|
|
3855
|
+
return (0, import_react47.useContext)(AudioThreadContext);
|
|
3443
3856
|
};
|
|
3444
3857
|
// src/components/threads/AudioThread/BarsVisualizer/index.tsx
|
|
3445
3858
|
var import_lodash8 = __toESM(require("lodash"), 1);
|
|
3446
|
-
var
|
|
3447
|
-
var
|
|
3859
|
+
var import_themes45 = require("@radix-ui/themes");
|
|
3860
|
+
var import_react48 = require("react");
|
|
3448
3861
|
var import_radash14 = require("radash");
|
|
3449
|
-
var
|
|
3862
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
3450
3863
|
var barCount = 4;
|
|
3451
3864
|
var BarsVisualizer = function(param) {
|
|
3452
3865
|
var visualizationAnalyser = param.visualizationAnalyser, backgroundColor = param.backgroundColor, height = param.height, barWidth = param.barWidth;
|
|
3453
|
-
var _ref = _sliced_to_array((0,
|
|
3454
|
-
var draw = (0,
|
|
3866
|
+
var _ref = _sliced_to_array((0, import_react48.useState)([]), 2), barHeights = _ref[0], setBarHeights = _ref[1];
|
|
3867
|
+
var draw = (0, import_react48.useCallback)(function(param) {
|
|
3455
3868
|
var visualizationAnalyser2 = param.visualizationAnalyser;
|
|
3456
3869
|
if (!visualizationAnalyser2) {
|
|
3457
3870
|
setBarHeights(Array(barCount).fill(0));
|
|
@@ -3469,7 +3882,7 @@ var BarsVisualizer = function(param) {
|
|
|
3469
3882
|
});
|
|
3470
3883
|
});
|
|
3471
3884
|
}, []);
|
|
3472
|
-
(0,
|
|
3885
|
+
(0, import_react48.useEffect)(function() {
|
|
3473
3886
|
draw({
|
|
3474
3887
|
visualizationAnalyser: visualizationAnalyser
|
|
3475
3888
|
});
|
|
@@ -3477,7 +3890,7 @@ var BarsVisualizer = function(param) {
|
|
|
3477
3890
|
draw,
|
|
3478
3891
|
visualizationAnalyser
|
|
3479
3892
|
]);
|
|
3480
|
-
return /* @__PURE__ */ (0,
|
|
3893
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes45.Grid, {
|
|
3481
3894
|
columns: "".concat(barCount),
|
|
3482
3895
|
gap: "1",
|
|
3483
3896
|
width: "auto",
|
|
@@ -3486,12 +3899,12 @@ var BarsVisualizer = function(param) {
|
|
|
3486
3899
|
gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
|
|
3487
3900
|
},
|
|
3488
3901
|
children: barHeights.map(function(barHeight, index) {
|
|
3489
|
-
return /* @__PURE__ */ (0,
|
|
3902
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes45.Flex, {
|
|
3490
3903
|
direction: "column",
|
|
3491
3904
|
align: "center",
|
|
3492
3905
|
justify: "center",
|
|
3493
3906
|
height: height,
|
|
3494
|
-
children: /* @__PURE__ */ (0,
|
|
3907
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes45.Flex, {
|
|
3495
3908
|
minHeight: "50%",
|
|
3496
3909
|
maxHeight: "100%",
|
|
3497
3910
|
height: "".concat(barHeight + 20, "%"),
|
|
@@ -3506,12 +3919,12 @@ var BarsVisualizer = function(param) {
|
|
|
3506
3919
|
});
|
|
3507
3920
|
};
|
|
3508
3921
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3509
|
-
var
|
|
3922
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
3510
3923
|
var Visualization = function() {
|
|
3511
3924
|
var audioThreadContext = useAudioThreadContext();
|
|
3512
|
-
var assistantNameContext = (0,
|
|
3513
|
-
var _ref = _sliced_to_array((0,
|
|
3514
|
-
var draw = (0,
|
|
3925
|
+
var assistantNameContext = (0, import_react49.useContext)(AssistantNameContext);
|
|
3926
|
+
var _ref = _sliced_to_array((0, import_react49.useState)(0), 2), scale = _ref[0], setScale = _ref[1];
|
|
3927
|
+
var draw = (0, import_react49.useCallback)(function(param) {
|
|
3515
3928
|
var visualizationAnalyser = param.visualizationAnalyser;
|
|
3516
3929
|
if (!visualizationAnalyser) {
|
|
3517
3930
|
setScale(1);
|
|
@@ -3526,7 +3939,7 @@ var Visualization = function() {
|
|
|
3526
3939
|
});
|
|
3527
3940
|
});
|
|
3528
3941
|
}, []);
|
|
3529
|
-
(0,
|
|
3942
|
+
(0, import_react49.useEffect)(function() {
|
|
3530
3943
|
draw({
|
|
3531
3944
|
visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser
|
|
3532
3945
|
});
|
|
@@ -3534,14 +3947,14 @@ var Visualization = function() {
|
|
|
3534
3947
|
draw,
|
|
3535
3948
|
audioThreadContext
|
|
3536
3949
|
]);
|
|
3537
|
-
return /* @__PURE__ */ (0,
|
|
3950
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes46.Flex, {
|
|
3538
3951
|
direction: "column",
|
|
3539
3952
|
align: "center",
|
|
3540
3953
|
justify: "center",
|
|
3541
3954
|
mb: "3",
|
|
3542
3955
|
flexGrow: "1",
|
|
3543
3956
|
children: [
|
|
3544
|
-
/* @__PURE__ */ (0,
|
|
3957
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes46.Flex, {
|
|
3545
3958
|
align: "center",
|
|
3546
3959
|
justify: "center",
|
|
3547
3960
|
height: "200px",
|
|
@@ -3551,20 +3964,20 @@ var Visualization = function() {
|
|
|
3551
3964
|
borderRadius: "9999px",
|
|
3552
3965
|
scale: scale
|
|
3553
3966
|
},
|
|
3554
|
-
children: /* @__PURE__ */ (0,
|
|
3967
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(BarsVisualizer, {
|
|
3555
3968
|
visualizationAnalyser: audioThreadContext.messageAudioProps.visualizationAnalyser,
|
|
3556
3969
|
backgroundColor: audioThreadContext.status === "playing" ? "var(--accent-11)" : "var(--gray-11)",
|
|
3557
3970
|
height: "40px",
|
|
3558
3971
|
barWidth: "24px"
|
|
3559
3972
|
})
|
|
3560
3973
|
}),
|
|
3561
|
-
/* @__PURE__ */ (0,
|
|
3974
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes46.Flex, {
|
|
3562
3975
|
ml: "-22.5px",
|
|
3563
3976
|
gap: "3",
|
|
3564
3977
|
pt: "5",
|
|
3565
3978
|
children: [
|
|
3566
|
-
/* @__PURE__ */ (0,
|
|
3567
|
-
/* @__PURE__ */ (0,
|
|
3979
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(AssistantAvatar, {}),
|
|
3980
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Name, {
|
|
3568
3981
|
children: assistantNameContext
|
|
3569
3982
|
})
|
|
3570
3983
|
]
|
|
@@ -3573,8 +3986,8 @@ var Visualization = function() {
|
|
|
3573
3986
|
});
|
|
3574
3987
|
};
|
|
3575
3988
|
// src/components/threads/AudioThread/Status/StatusMessages.tsx
|
|
3576
|
-
var
|
|
3577
|
-
var
|
|
3989
|
+
var import_themes47 = require("@radix-ui/themes");
|
|
3990
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
3578
3991
|
var html = function(param) {
|
|
3579
3992
|
var texts = param.texts;
|
|
3580
3993
|
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) {
|
|
@@ -3583,17 +3996,17 @@ var html = function(param) {
|
|
|
3583
3996
|
};
|
|
3584
3997
|
var StatusMessages = function(param) {
|
|
3585
3998
|
var texts = param.texts;
|
|
3586
|
-
return /* @__PURE__ */ (0,
|
|
3999
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_themes47.Flex, {
|
|
3587
4000
|
justify: "center",
|
|
3588
4001
|
pb: "5",
|
|
3589
4002
|
children: [
|
|
3590
|
-
/* @__PURE__ */ (0,
|
|
4003
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_themes47.Text, {
|
|
3591
4004
|
size: "2",
|
|
3592
4005
|
weight: "regular",
|
|
3593
4006
|
color: "gray",
|
|
3594
4007
|
className: "status-messages-texts"
|
|
3595
4008
|
}),
|
|
3596
|
-
/* @__PURE__ */ (0,
|
|
4009
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("style", {
|
|
3597
4010
|
dangerouslySetInnerHTML: {
|
|
3598
4011
|
__html: html({
|
|
3599
4012
|
texts: texts
|
|
@@ -3604,11 +4017,11 @@ var StatusMessages = function(param) {
|
|
|
3604
4017
|
});
|
|
3605
4018
|
};
|
|
3606
4019
|
// src/components/threads/AudioThread/Status/index.tsx
|
|
3607
|
-
var
|
|
4020
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
3608
4021
|
var Status = function() {
|
|
3609
4022
|
var audioThreadContext = useAudioThreadContext();
|
|
3610
4023
|
if (audioThreadContext.status === "recording") {
|
|
3611
|
-
return /* @__PURE__ */ (0,
|
|
4024
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusMessages, {
|
|
3612
4025
|
texts: [
|
|
3613
4026
|
"Start speaking",
|
|
3614
4027
|
"Listening",
|
|
@@ -3622,31 +4035,31 @@ var Status = function() {
|
|
|
3622
4035
|
"idle",
|
|
3623
4036
|
"playerPaused"
|
|
3624
4037
|
].includes(audioThreadContext.status)) {
|
|
3625
|
-
return /* @__PURE__ */ (0,
|
|
4038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusMessages, {
|
|
3626
4039
|
texts: [
|
|
3627
4040
|
"Click the button below to activate"
|
|
3628
4041
|
]
|
|
3629
4042
|
});
|
|
3630
4043
|
}
|
|
3631
4044
|
if (audioThreadContext.status === "playing") {
|
|
3632
|
-
return /* @__PURE__ */ (0,
|
|
4045
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusMessages, {
|
|
3633
4046
|
texts: [
|
|
3634
4047
|
"Click the button below to interrupt"
|
|
3635
4048
|
]
|
|
3636
4049
|
});
|
|
3637
4050
|
}
|
|
3638
|
-
return /* @__PURE__ */ (0,
|
|
4051
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusMessages, {
|
|
3639
4052
|
texts: [
|
|
3640
4053
|
"Thinking"
|
|
3641
4054
|
]
|
|
3642
4055
|
});
|
|
3643
4056
|
};
|
|
3644
4057
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3645
|
-
var
|
|
4058
|
+
var import_themes49 = require("@radix-ui/themes");
|
|
3646
4059
|
// src/components/threads/AudioThread/Form/MicIcon.tsx
|
|
3647
|
-
var
|
|
4060
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
3648
4061
|
var MicIcon = function(props) {
|
|
3649
|
-
return /* @__PURE__ */ (0,
|
|
4062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("svg", _object_spread_props(_object_spread({
|
|
3650
4063
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3651
4064
|
fill: "currentColor",
|
|
3652
4065
|
stroke: "currentColor",
|
|
@@ -3655,54 +4068,54 @@ var MicIcon = function(props) {
|
|
|
3655
4068
|
height: "15",
|
|
3656
4069
|
width: "15"
|
|
3657
4070
|
}, props), {
|
|
3658
|
-
children: /* @__PURE__ */ (0,
|
|
4071
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("path", {
|
|
3659
4072
|
stroke: "none",
|
|
3660
4073
|
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"
|
|
3661
4074
|
})
|
|
3662
4075
|
}));
|
|
3663
4076
|
};
|
|
3664
4077
|
// src/components/threads/AudioThread/Form/ActionButton/index.tsx
|
|
3665
|
-
var
|
|
3666
|
-
var
|
|
3667
|
-
var
|
|
4078
|
+
var import_themes48 = require("@radix-ui/themes");
|
|
4079
|
+
var import_react_icons12 = require("@radix-ui/react-icons");
|
|
4080
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
3668
4081
|
var ActionButton = function() {
|
|
3669
4082
|
var audioThreadContext = useAudioThreadContext();
|
|
3670
4083
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
3671
4084
|
if (audioThreadContext.status === "recording") {
|
|
3672
|
-
return /* @__PURE__ */ (0,
|
|
4085
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_themes48.Flex, {
|
|
3673
4086
|
align: "center",
|
|
3674
4087
|
children: [
|
|
3675
|
-
/* @__PURE__ */ (0,
|
|
4088
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.Flex, {
|
|
3676
4089
|
mr: "3",
|
|
3677
4090
|
ml: "-7",
|
|
3678
|
-
children: /* @__PURE__ */ (0,
|
|
4091
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
|
|
3679
4092
|
onClick: audioThreadContext.recorderProps.pause,
|
|
3680
4093
|
color: "gray",
|
|
3681
4094
|
variant: "soft",
|
|
3682
4095
|
size: "1",
|
|
3683
|
-
children: /* @__PURE__ */ (0,
|
|
4096
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.PauseIcon, {})
|
|
3684
4097
|
})
|
|
3685
4098
|
}),
|
|
3686
|
-
/* @__PURE__ */ (0,
|
|
4099
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
|
|
3687
4100
|
onClick: audioThreadContext.recorderProps.stop,
|
|
3688
4101
|
highContrast: true,
|
|
3689
4102
|
variant: "soft",
|
|
3690
4103
|
size: "4",
|
|
3691
|
-
children: /* @__PURE__ */ (0,
|
|
4104
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.ArrowUpIcon, {})
|
|
3692
4105
|
})
|
|
3693
4106
|
]
|
|
3694
4107
|
});
|
|
3695
4108
|
}
|
|
3696
4109
|
if (audioThreadContext.status === "recorderPaused") {
|
|
3697
|
-
return /* @__PURE__ */ (0,
|
|
4110
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
|
|
3698
4111
|
onClick: audioThreadContext.recorderProps.resume,
|
|
3699
4112
|
color: "red",
|
|
3700
4113
|
size: "4",
|
|
3701
|
-
children: /* @__PURE__ */ (0,
|
|
4114
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.ResumeIcon, {})
|
|
3702
4115
|
});
|
|
3703
4116
|
}
|
|
3704
4117
|
if (audioThreadContext.status === "idle") {
|
|
3705
|
-
return /* @__PURE__ */ (0,
|
|
4118
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
|
|
3706
4119
|
onClick: function() {
|
|
3707
4120
|
return audioThreadContext.recorderProps.start();
|
|
3708
4121
|
},
|
|
@@ -3711,7 +4124,7 @@ var ActionButton = function() {
|
|
|
3711
4124
|
});
|
|
3712
4125
|
}
|
|
3713
4126
|
if (audioThreadContext.status === "playing") {
|
|
3714
|
-
return /* @__PURE__ */ (0,
|
|
4127
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
|
|
3715
4128
|
onClick: function() {
|
|
3716
4129
|
var _superinterfaceContext_createMessageAbortControllerRef_current;
|
|
3717
4130
|
audioThreadContext.messageAudioProps.stop();
|
|
@@ -3721,54 +4134,54 @@ var ActionButton = function() {
|
|
|
3721
4134
|
size: "4",
|
|
3722
4135
|
color: "gray",
|
|
3723
4136
|
variant: "soft",
|
|
3724
|
-
children: /* @__PURE__ */ (0,
|
|
4137
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.StopIcon, {})
|
|
3725
4138
|
});
|
|
3726
4139
|
}
|
|
3727
4140
|
if (audioThreadContext.status === "playerPaused") {
|
|
3728
|
-
return /* @__PURE__ */ (0,
|
|
4141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
|
|
3729
4142
|
onClick: function() {
|
|
3730
4143
|
return audioThreadContext.messageAudioProps.play();
|
|
3731
4144
|
},
|
|
3732
4145
|
size: "4",
|
|
3733
|
-
children: /* @__PURE__ */ (0,
|
|
4146
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.ResumeIcon, {})
|
|
3734
4147
|
});
|
|
3735
4148
|
}
|
|
3736
|
-
return /* @__PURE__ */ (0,
|
|
4149
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
|
|
3737
4150
|
size: "4",
|
|
3738
4151
|
variant: "soft",
|
|
3739
4152
|
disabled: true
|
|
3740
4153
|
});
|
|
3741
4154
|
};
|
|
3742
4155
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3743
|
-
var
|
|
4156
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
3744
4157
|
var Form = function() {
|
|
3745
4158
|
var audioThreadContext = useAudioThreadContext();
|
|
3746
|
-
return /* @__PURE__ */ (0,
|
|
4159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_themes49.Flex, {
|
|
3747
4160
|
direction: "column",
|
|
3748
4161
|
align: "center",
|
|
3749
4162
|
children: [
|
|
3750
|
-
/* @__PURE__ */ (0,
|
|
4163
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_themes49.Flex, {
|
|
3751
4164
|
pb: "3",
|
|
3752
4165
|
align: "center",
|
|
3753
4166
|
children: [
|
|
3754
|
-
/* @__PURE__ */ (0,
|
|
4167
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_themes49.Flex, {
|
|
3755
4168
|
ml: "-22.5px",
|
|
3756
4169
|
mr: "2",
|
|
3757
4170
|
align: "center",
|
|
3758
|
-
children: /* @__PURE__ */ (0,
|
|
4171
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(MicIcon, {
|
|
3759
4172
|
style: {
|
|
3760
4173
|
color: audioThreadContext.status === "recording" ? "var(--accent-11)" : "var(--gray-11)"
|
|
3761
4174
|
}
|
|
3762
4175
|
})
|
|
3763
4176
|
}),
|
|
3764
|
-
/* @__PURE__ */ (0,
|
|
4177
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_themes49.Flex, {
|
|
3765
4178
|
px: "2",
|
|
3766
4179
|
py: "1",
|
|
3767
4180
|
style: {
|
|
3768
4181
|
backgroundColor: audioThreadContext.status === "recording" ? "var(--accent-4)" : "var(--gray-4)",
|
|
3769
4182
|
borderRadius: "var(--radius-6)"
|
|
3770
4183
|
},
|
|
3771
|
-
children: /* @__PURE__ */ (0,
|
|
4184
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(BarsVisualizer, {
|
|
3772
4185
|
visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser,
|
|
3773
4186
|
backgroundColor: audioThreadContext.status === "recording" ? "var(--accent-11)" : "var(--gray-11)",
|
|
3774
4187
|
height: "20px",
|
|
@@ -3777,57 +4190,54 @@ var Form = function() {
|
|
|
3777
4190
|
})
|
|
3778
4191
|
]
|
|
3779
4192
|
}),
|
|
3780
|
-
/* @__PURE__ */ (0,
|
|
4193
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ActionButton, {})
|
|
3781
4194
|
]
|
|
3782
4195
|
});
|
|
3783
4196
|
};
|
|
3784
4197
|
// src/components/threads/AudioThread/index.tsx
|
|
3785
|
-
var
|
|
4198
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
3786
4199
|
var AudioThread = function(props) {
|
|
3787
|
-
return /* @__PURE__ */ (0,
|
|
4200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(Root12, _object_spread_props(_object_spread({}, props), {
|
|
3788
4201
|
children: [
|
|
3789
|
-
/* @__PURE__ */ (0,
|
|
3790
|
-
/* @__PURE__ */ (0,
|
|
3791
|
-
/* @__PURE__ */ (0,
|
|
4202
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Visualization, {}),
|
|
4203
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Status, {}),
|
|
4204
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Form, {})
|
|
3792
4205
|
]
|
|
3793
4206
|
}));
|
|
3794
4207
|
};
|
|
3795
|
-
AudioThread.Root =
|
|
4208
|
+
AudioThread.Root = Root12;
|
|
3796
4209
|
AudioThread.Visualization = Visualization;
|
|
3797
4210
|
AudioThread.Form = Form;
|
|
3798
4211
|
// src/components/threads/AudioThreadDialog/index.tsx
|
|
3799
|
-
var
|
|
4212
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
3800
4213
|
var AudioThreadDialog = function() {
|
|
3801
|
-
return /* @__PURE__ */ (0,
|
|
4214
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(Root9, {
|
|
3802
4215
|
children: [
|
|
3803
|
-
/* @__PURE__ */ (0,
|
|
3804
|
-
children: /* @__PURE__ */ (0,
|
|
4216
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Content4.Root, {
|
|
4217
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(AudioThread, {})
|
|
3805
4218
|
}),
|
|
3806
|
-
/* @__PURE__ */ (0,
|
|
3807
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button2, {})
|
|
3808
|
-
})
|
|
4219
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Trigger, {})
|
|
3809
4220
|
]
|
|
3810
4221
|
});
|
|
3811
4222
|
};
|
|
3812
|
-
AudioThreadDialog.Root =
|
|
4223
|
+
AudioThreadDialog.Root = Root9;
|
|
3813
4224
|
AudioThreadDialog.Trigger = Trigger;
|
|
3814
|
-
AudioThreadDialog.Button = Button2;
|
|
3815
4225
|
AudioThreadDialog.Content = Content4;
|
|
3816
4226
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3817
|
-
var
|
|
4227
|
+
var import_react51 = require("react");
|
|
3818
4228
|
// src/components/suggestions/Suggestions/Content.tsx
|
|
3819
|
-
var
|
|
4229
|
+
var import_react50 = require("react");
|
|
3820
4230
|
var import_radash15 = require("radash");
|
|
3821
4231
|
var import_react_children_utilities = require("react-children-utilities");
|
|
3822
|
-
var
|
|
4232
|
+
var import_themes51 = require("@radix-ui/themes");
|
|
3823
4233
|
// src/components/suggestions/Suggestions/Item.tsx
|
|
3824
|
-
var
|
|
3825
|
-
var
|
|
3826
|
-
var
|
|
4234
|
+
var import_react_icons13 = require("@radix-ui/react-icons");
|
|
4235
|
+
var import_themes50 = require("@radix-ui/themes");
|
|
4236
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
3827
4237
|
var Item = function(param) {
|
|
3828
4238
|
var suggestion = param.suggestion, isDisabled = param.isDisabled;
|
|
3829
4239
|
var _useCreateMessage = useCreateMessage(), createMessage = _useCreateMessage.createMessage, isPending = _useCreateMessage.isPending;
|
|
3830
|
-
return /* @__PURE__ */ (0,
|
|
4240
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Content5, {
|
|
3831
4241
|
onClick: function() {
|
|
3832
4242
|
createMessage({
|
|
3833
4243
|
// @ts-ignore-next-line
|
|
@@ -3841,7 +4251,7 @@ var Item = function(param) {
|
|
|
3841
4251
|
};
|
|
3842
4252
|
var Content5 = function(param) {
|
|
3843
4253
|
var onClick = param.onClick, isDisabled = param.isDisabled, isPending = param.isPending, children = param.children;
|
|
3844
|
-
return /* @__PURE__ */ (0,
|
|
4254
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_themes50.Button, {
|
|
3845
4255
|
variant: "soft",
|
|
3846
4256
|
onClick: onClick,
|
|
3847
4257
|
disabled: isDisabled,
|
|
@@ -3851,14 +4261,14 @@ var Content5 = function(param) {
|
|
|
3851
4261
|
flexShrink: 1
|
|
3852
4262
|
},
|
|
3853
4263
|
children: [
|
|
3854
|
-
/* @__PURE__ */ (0,
|
|
4264
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_themes50.Text, {
|
|
3855
4265
|
size: "1",
|
|
3856
4266
|
weight: "regular",
|
|
3857
4267
|
children: children
|
|
3858
4268
|
}),
|
|
3859
|
-
/* @__PURE__ */ (0,
|
|
4269
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_themes50.Spinner, {
|
|
3860
4270
|
loading: isPending,
|
|
3861
|
-
children: /* @__PURE__ */ (0,
|
|
4271
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_react_icons13.ArrowUpIcon, {
|
|
3862
4272
|
style: {
|
|
3863
4273
|
flexShrink: 0
|
|
3864
4274
|
}
|
|
@@ -3869,11 +4279,11 @@ var Content5 = function(param) {
|
|
|
3869
4279
|
};
|
|
3870
4280
|
Item.Content = Content5;
|
|
3871
4281
|
// src/components/suggestions/Suggestions/Content.tsx
|
|
3872
|
-
var
|
|
4282
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
3873
4283
|
var Content6 = function(param) {
|
|
3874
4284
|
var children = param.children;
|
|
3875
4285
|
var isMutatingMessage = useIsMutatingMessage();
|
|
3876
|
-
var suggestions = (0,
|
|
4286
|
+
var suggestions = (0, import_react50.useMemo)(function() {
|
|
3877
4287
|
return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
|
|
3878
4288
|
return !(0, import_radash15.isEmpty)(c);
|
|
3879
4289
|
}).map(function(c) {
|
|
@@ -3883,12 +4293,12 @@ var Content6 = function(param) {
|
|
|
3883
4293
|
children
|
|
3884
4294
|
]);
|
|
3885
4295
|
if ((0, import_radash15.isEmpty)(suggestions)) return null;
|
|
3886
|
-
return /* @__PURE__ */ (0,
|
|
4296
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes51.Flex, {
|
|
3887
4297
|
gap: "2",
|
|
3888
4298
|
py: "2",
|
|
3889
4299
|
wrap: "wrap",
|
|
3890
4300
|
children: suggestions.map(function(suggestion) {
|
|
3891
|
-
return /* @__PURE__ */ (0,
|
|
4301
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Item, {
|
|
3892
4302
|
suggestion: suggestion,
|
|
3893
4303
|
isDisabled: isMutatingMessage
|
|
3894
4304
|
}, suggestion);
|
|
@@ -3896,11 +4306,11 @@ var Content6 = function(param) {
|
|
|
3896
4306
|
});
|
|
3897
4307
|
};
|
|
3898
4308
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3899
|
-
var
|
|
4309
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
3900
4310
|
var Suggestions = function(param) {
|
|
3901
4311
|
var children = param.children;
|
|
3902
4312
|
var latestMessageProps = useLatestMessage();
|
|
3903
|
-
var isDisabled = (0,
|
|
4313
|
+
var isDisabled = (0, import_react51.useMemo)(function() {
|
|
3904
4314
|
var // @ts-ignore-next-line
|
|
3905
4315
|
_latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
3906
4316
|
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;
|
|
@@ -3909,51 +4319,51 @@ var Suggestions = function(param) {
|
|
|
3909
4319
|
]);
|
|
3910
4320
|
if (latestMessageProps.isLoading) return null;
|
|
3911
4321
|
if (isDisabled) return null;
|
|
3912
|
-
return /* @__PURE__ */ (0,
|
|
4322
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Content6, {
|
|
3913
4323
|
children: children
|
|
3914
4324
|
});
|
|
3915
4325
|
};
|
|
3916
4326
|
Suggestions.Item = Item;
|
|
3917
4327
|
// src/components/markdown/MarkdownProvider/index.tsx
|
|
3918
|
-
var
|
|
3919
|
-
var
|
|
4328
|
+
var import_react52 = require("react");
|
|
4329
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
3920
4330
|
var MarkdownProvider = function(_param) {
|
|
3921
4331
|
var children = _param.children, rest = _object_without_properties(_param, [
|
|
3922
4332
|
"children"
|
|
3923
4333
|
]);
|
|
3924
4334
|
var prevMarkdownContext = useMarkdownContext();
|
|
3925
|
-
var value = (0,
|
|
4335
|
+
var value = (0, import_react52.useMemo)(function() {
|
|
3926
4336
|
return merge(prevMarkdownContext, rest);
|
|
3927
4337
|
}, [
|
|
3928
4338
|
rest,
|
|
3929
4339
|
prevMarkdownContext
|
|
3930
4340
|
]);
|
|
3931
|
-
return /* @__PURE__ */ (0,
|
|
4341
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(MarkdownContext.Provider, {
|
|
3932
4342
|
value: value,
|
|
3933
4343
|
children: children
|
|
3934
4344
|
});
|
|
3935
4345
|
};
|
|
3936
4346
|
// src/components/components/ComponentsProvider.tsx
|
|
3937
|
-
var
|
|
4347
|
+
var import_react54 = require("react");
|
|
3938
4348
|
// src/hooks/components/useComponents.ts
|
|
3939
|
-
var
|
|
4349
|
+
var import_react53 = require("react");
|
|
3940
4350
|
var useComponents = function() {
|
|
3941
|
-
return (0,
|
|
4351
|
+
return (0, import_react53.useContext)(ComponentsContext);
|
|
3942
4352
|
};
|
|
3943
4353
|
// src/components/components/ComponentsProvider.tsx
|
|
3944
|
-
var
|
|
4354
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
3945
4355
|
var ComponentsProvider = function(_param) {
|
|
3946
4356
|
var children = _param.children, rest = _object_without_properties(_param, [
|
|
3947
4357
|
"children"
|
|
3948
4358
|
]);
|
|
3949
4359
|
var prevComponents = useComponents();
|
|
3950
|
-
var value = (0,
|
|
4360
|
+
var value = (0, import_react54.useMemo)(function() {
|
|
3951
4361
|
return merge(prevComponents, rest);
|
|
3952
4362
|
}, [
|
|
3953
4363
|
rest,
|
|
3954
4364
|
prevComponents
|
|
3955
4365
|
]);
|
|
3956
|
-
return /* @__PURE__ */ (0,
|
|
4366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(ComponentsContext.Provider, {
|
|
3957
4367
|
value: value,
|
|
3958
4368
|
children: children
|
|
3959
4369
|
});
|