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