@base44/superagent-native 0.0.1 → 0.0.2
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/LICENSE +21 -0
- package/README.md +12 -20
- package/lib/commonjs/AgentSettingsPanel.js +32 -15
- package/lib/commonjs/AgentSettingsPanel.js.map +1 -1
- package/lib/commonjs/AttachmentPickerStatusModal.js +2 -2
- package/lib/commonjs/AttachmentPickerStatusModal.js.map +1 -1
- package/lib/commonjs/ConversationChat.js +27 -11
- package/lib/commonjs/ConversationChat.js.map +1 -1
- package/lib/commonjs/ConversationComposer.js +10 -6
- package/lib/commonjs/ConversationComposer.js.map +1 -1
- package/lib/commonjs/ConversationScreen.js +2 -0
- package/lib/commonjs/ConversationScreen.js.map +1 -1
- package/lib/commonjs/MarkdownText.js +1 -1
- package/lib/commonjs/MarkdownText.js.map +1 -1
- package/lib/commonjs/MessageActionBar.js +10 -3
- package/lib/commonjs/MessageActionBar.js.map +1 -1
- package/lib/commonjs/SuperagentHomeScreen.js +17 -3
- package/lib/commonjs/SuperagentHomeScreen.js.map +1 -1
- package/lib/commonjs/ToolApprovalCard.js +1 -1
- package/lib/commonjs/ToolApprovalCard.js.map +1 -1
- package/lib/commonjs/ToolCallSummary.js +5 -1
- package/lib/commonjs/ToolCallSummary.js.map +1 -1
- package/lib/commonjs/attachmentUpload.js +2 -1
- package/lib/commonjs/attachmentUpload.js.map +1 -1
- package/lib/commonjs/conversationRuntime.js +37 -2
- package/lib/commonjs/conversationRuntime.js.map +1 -1
- package/lib/commonjs/fileTreeUtils.js +7 -0
- package/lib/commonjs/fileTreeUtils.js.map +1 -1
- package/lib/commonjs/screenParts.js +3 -3
- package/lib/commonjs/styles.js +43 -43
- package/lib/commonjs/useSuperagentConversation.js +117 -34
- package/lib/commonjs/useSuperagentConversation.js.map +1 -1
- package/lib/commonjs/useSuperagentRuntime.js +79 -24
- package/lib/commonjs/useSuperagentRuntime.js.map +1 -1
- package/lib/module/AgentSettingsPanel.js +32 -15
- package/lib/module/AgentSettingsPanel.js.map +1 -1
- package/lib/module/AttachmentPickerStatusModal.js +2 -2
- package/lib/module/AttachmentPickerStatusModal.js.map +1 -1
- package/lib/module/ConversationChat.js +27 -11
- package/lib/module/ConversationChat.js.map +1 -1
- package/lib/module/ConversationComposer.js +10 -6
- package/lib/module/ConversationComposer.js.map +1 -1
- package/lib/module/ConversationScreen.js +2 -0
- package/lib/module/ConversationScreen.js.map +1 -1
- package/lib/module/MarkdownText.js +1 -1
- package/lib/module/MarkdownText.js.map +1 -1
- package/lib/module/MessageActionBar.js +10 -3
- package/lib/module/MessageActionBar.js.map +1 -1
- package/lib/module/SuperagentHomeScreen.js +18 -4
- package/lib/module/SuperagentHomeScreen.js.map +1 -1
- package/lib/module/ToolApprovalCard.js +1 -1
- package/lib/module/ToolApprovalCard.js.map +1 -1
- package/lib/module/ToolCallSummary.js +5 -1
- package/lib/module/ToolCallSummary.js.map +1 -1
- package/lib/module/attachmentUpload.js +2 -1
- package/lib/module/attachmentUpload.js.map +1 -1
- package/lib/module/conversationRuntime.js +36 -2
- package/lib/module/conversationRuntime.js.map +1 -1
- package/lib/module/fileTreeUtils.js +6 -0
- package/lib/module/fileTreeUtils.js.map +1 -1
- package/lib/module/screenParts.js +3 -3
- package/lib/module/styles.js +43 -43
- package/lib/module/useSuperagentConversation.js +118 -35
- package/lib/module/useSuperagentConversation.js.map +1 -1
- package/lib/module/useSuperagentRuntime.js +80 -25
- package/lib/module/useSuperagentRuntime.js.map +1 -1
- package/lib/typescript/commonjs/AgentSettingsPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationChat.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationComposer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ConversationScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/SuperagentHomeScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/conversationRuntime.d.ts +3 -2
- package/lib/typescript/commonjs/conversationRuntime.d.ts.map +1 -1
- package/lib/typescript/commonjs/fileTreeUtils.d.ts +1 -0
- package/lib/typescript/commonjs/fileTreeUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +1 -0
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/useSuperagentConversation.d.ts.map +1 -1
- package/lib/typescript/commonjs/useSuperagentRuntime.d.ts +3 -1
- package/lib/typescript/commonjs/useSuperagentRuntime.d.ts.map +1 -1
- package/lib/typescript/module/AgentSettingsPanel.d.ts.map +1 -1
- package/lib/typescript/module/ConversationChat.d.ts.map +1 -1
- package/lib/typescript/module/ConversationComposer.d.ts.map +1 -1
- package/lib/typescript/module/ConversationScreen.d.ts +1 -1
- package/lib/typescript/module/ConversationScreen.d.ts.map +1 -1
- package/lib/typescript/module/SuperagentHomeScreen.d.ts.map +1 -1
- package/lib/typescript/module/conversationRuntime.d.ts +3 -2
- package/lib/typescript/module/conversationRuntime.d.ts.map +1 -1
- package/lib/typescript/module/fileTreeUtils.d.ts +1 -0
- package/lib/typescript/module/fileTreeUtils.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +1 -0
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/useSuperagentConversation.d.ts.map +1 -1
- package/lib/typescript/module/useSuperagentRuntime.d.ts +3 -1
- package/lib/typescript/module/useSuperagentRuntime.d.ts.map +1 -1
- package/package.json +13 -11
- package/src/AgentSettingsPanel.tsx +28 -9
- package/src/AttachmentPickerStatusModal.tsx +2 -2
- package/src/ConversationChat.tsx +37 -9
- package/src/ConversationComposer.tsx +11 -6
- package/src/ConversationScreen.tsx +2 -0
- package/src/MarkdownText.tsx +1 -1
- package/src/MessageActionBar.tsx +9 -3
- package/src/SuperagentHomeScreen.tsx +18 -3
- package/src/ToolApprovalCard.tsx +1 -1
- package/src/ToolCallSummary.tsx +4 -1
- package/src/attachmentUpload.ts +2 -1
- package/src/conversationRuntime.ts +48 -4
- package/src/fileTreeUtils.ts +13 -0
- package/src/screenParts.tsx +3 -3
- package/src/styles.ts +43 -43
- package/src/types.ts +1 -0
- package/src/useSuperagentConversation.ts +116 -31
- package/src/useSuperagentRuntime.ts +80 -24
package/lib/commonjs/styles.js
CHANGED
|
@@ -8,7 +8,7 @@ var _reactNative = require("react-native");
|
|
|
8
8
|
const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
9
9
|
safeArea: {
|
|
10
10
|
flex: 1,
|
|
11
|
-
backgroundColor: '#
|
|
11
|
+
backgroundColor: '#F7F7F8'
|
|
12
12
|
},
|
|
13
13
|
container: {
|
|
14
14
|
paddingBottom: 34,
|
|
@@ -17,7 +17,7 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
17
17
|
},
|
|
18
18
|
homeTopBar: {
|
|
19
19
|
alignItems: 'center',
|
|
20
|
-
borderBottomColor: '#
|
|
20
|
+
borderBottomColor: '#E4E4E7',
|
|
21
21
|
borderBottomWidth: 1,
|
|
22
22
|
flexDirection: 'row',
|
|
23
23
|
minHeight: 62,
|
|
@@ -39,7 +39,7 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
39
39
|
minWidth: 0
|
|
40
40
|
},
|
|
41
41
|
topBarTitle: {
|
|
42
|
-
color: '#
|
|
42
|
+
color: '#18181B',
|
|
43
43
|
fontSize: 17,
|
|
44
44
|
fontWeight: '900',
|
|
45
45
|
letterSpacing: 0,
|
|
@@ -62,20 +62,20 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
62
62
|
marginLeft: 12
|
|
63
63
|
},
|
|
64
64
|
eyebrow: {
|
|
65
|
-
color: '#
|
|
65
|
+
color: '#71717A',
|
|
66
66
|
fontSize: 12,
|
|
67
67
|
fontWeight: '800',
|
|
68
68
|
marginTop: 2
|
|
69
69
|
},
|
|
70
70
|
title: {
|
|
71
|
-
color: '#
|
|
71
|
+
color: '#18181B',
|
|
72
72
|
fontSize: 24,
|
|
73
73
|
fontWeight: '900',
|
|
74
74
|
letterSpacing: 0,
|
|
75
75
|
lineHeight: 29
|
|
76
76
|
},
|
|
77
77
|
subtitle: {
|
|
78
|
-
color: '#
|
|
78
|
+
color: '#52525B',
|
|
79
79
|
fontSize: 14,
|
|
80
80
|
fontWeight: '600',
|
|
81
81
|
lineHeight: 20,
|
|
@@ -83,8 +83,8 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
83
83
|
},
|
|
84
84
|
headerAvatar: {
|
|
85
85
|
alignItems: 'center',
|
|
86
|
-
backgroundColor: '#
|
|
87
|
-
borderColor: '#
|
|
86
|
+
backgroundColor: '#FFFFFF',
|
|
87
|
+
borderColor: '#E4E4E7',
|
|
88
88
|
borderRadius: 22,
|
|
89
89
|
borderWidth: 1,
|
|
90
90
|
height: 44,
|
|
@@ -93,15 +93,15 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
93
93
|
},
|
|
94
94
|
loadingPanel: {
|
|
95
95
|
alignItems: 'center',
|
|
96
|
-
backgroundColor: '#
|
|
97
|
-
borderColor: '#
|
|
96
|
+
backgroundColor: '#FFFFFF',
|
|
97
|
+
borderColor: '#E4E4E7',
|
|
98
98
|
borderRadius: 18,
|
|
99
99
|
borderWidth: 1,
|
|
100
100
|
padding: 32
|
|
101
101
|
},
|
|
102
102
|
heroPanel: {
|
|
103
|
-
backgroundColor: '#
|
|
104
|
-
borderColor: '#
|
|
103
|
+
backgroundColor: '#FFFFFF',
|
|
104
|
+
borderColor: '#E4E4E7',
|
|
105
105
|
borderRadius: 22,
|
|
106
106
|
borderWidth: 1,
|
|
107
107
|
overflow: 'hidden',
|
|
@@ -114,7 +114,7 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
114
114
|
marginBottom: 16
|
|
115
115
|
},
|
|
116
116
|
heroLabel: {
|
|
117
|
-
color: '#
|
|
117
|
+
color: '#71717A',
|
|
118
118
|
fontSize: 11,
|
|
119
119
|
fontWeight: '900',
|
|
120
120
|
textTransform: 'uppercase'
|
|
@@ -126,8 +126,8 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
126
126
|
},
|
|
127
127
|
avatar: {
|
|
128
128
|
alignItems: 'center',
|
|
129
|
-
backgroundColor: '#
|
|
130
|
-
borderColor: '#
|
|
129
|
+
backgroundColor: '#F4F4F5',
|
|
130
|
+
borderColor: '#E4E4E7',
|
|
131
131
|
borderRadius: 24,
|
|
132
132
|
borderWidth: 1,
|
|
133
133
|
height: 52,
|
|
@@ -135,7 +135,7 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
135
135
|
width: 52
|
|
136
136
|
},
|
|
137
137
|
avatarText: {
|
|
138
|
-
color: '#
|
|
138
|
+
color: '#18181B',
|
|
139
139
|
fontSize: 18,
|
|
140
140
|
fontWeight: '900'
|
|
141
141
|
},
|
|
@@ -145,20 +145,20 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
145
145
|
minWidth: 0
|
|
146
146
|
},
|
|
147
147
|
agentName: {
|
|
148
|
-
color: '#
|
|
148
|
+
color: '#18181B',
|
|
149
149
|
fontSize: 21,
|
|
150
150
|
fontWeight: '900',
|
|
151
151
|
lineHeight: 25
|
|
152
152
|
},
|
|
153
153
|
agentDescription: {
|
|
154
|
-
color: '#
|
|
154
|
+
color: '#52525B',
|
|
155
155
|
fontSize: 14,
|
|
156
156
|
fontWeight: '600',
|
|
157
157
|
lineHeight: 20,
|
|
158
158
|
marginTop: 7
|
|
159
159
|
},
|
|
160
160
|
chevron: {
|
|
161
|
-
color: '#
|
|
161
|
+
color: '#A1A1AA',
|
|
162
162
|
fontSize: 20,
|
|
163
163
|
fontWeight: '900'
|
|
164
164
|
},
|
|
@@ -169,8 +169,8 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
169
169
|
marginTop: 14
|
|
170
170
|
},
|
|
171
171
|
agentMetaPill: {
|
|
172
|
-
backgroundColor: '#
|
|
173
|
-
borderColor: '#
|
|
172
|
+
backgroundColor: '#F4F4F5',
|
|
173
|
+
borderColor: '#E4E4E7',
|
|
174
174
|
borderRadius: 13,
|
|
175
175
|
borderWidth: 1,
|
|
176
176
|
marginRight: 7,
|
|
@@ -179,26 +179,26 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
179
179
|
paddingVertical: 6
|
|
180
180
|
},
|
|
181
181
|
agentMetaText: {
|
|
182
|
-
color: '#
|
|
182
|
+
color: '#3F3F46',
|
|
183
183
|
fontSize: 12,
|
|
184
184
|
fontWeight: '800'
|
|
185
185
|
},
|
|
186
186
|
emptyPanel: {
|
|
187
|
-
backgroundColor: '#
|
|
188
|
-
borderColor: '#
|
|
187
|
+
backgroundColor: '#FFFFFF',
|
|
188
|
+
borderColor: '#E4E4E7',
|
|
189
189
|
borderRadius: 22,
|
|
190
190
|
borderWidth: 1,
|
|
191
191
|
padding: 16
|
|
192
192
|
},
|
|
193
193
|
emptyTitle: {
|
|
194
|
-
color: '#
|
|
194
|
+
color: '#18181B',
|
|
195
195
|
fontSize: 23,
|
|
196
196
|
fontWeight: '900',
|
|
197
197
|
lineHeight: 28,
|
|
198
198
|
marginTop: 15
|
|
199
199
|
},
|
|
200
200
|
emptyBody: {
|
|
201
|
-
color: '#
|
|
201
|
+
color: '#52525B',
|
|
202
202
|
fontSize: 14,
|
|
203
203
|
fontWeight: '600',
|
|
204
204
|
lineHeight: 21,
|
|
@@ -210,8 +210,8 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
210
210
|
marginTop: 14
|
|
211
211
|
},
|
|
212
212
|
emptyChip: {
|
|
213
|
-
backgroundColor: '#
|
|
214
|
-
borderColor: '#
|
|
213
|
+
backgroundColor: '#F4F4F5',
|
|
214
|
+
borderColor: '#E4E4E7',
|
|
215
215
|
borderRadius: 15,
|
|
216
216
|
borderWidth: 1,
|
|
217
217
|
marginRight: 7,
|
|
@@ -220,13 +220,13 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
220
220
|
paddingVertical: 7
|
|
221
221
|
},
|
|
222
222
|
emptyChipText: {
|
|
223
|
-
color: '#
|
|
223
|
+
color: '#3F3F46',
|
|
224
224
|
fontSize: 12,
|
|
225
225
|
fontWeight: '800'
|
|
226
226
|
},
|
|
227
227
|
primaryButton: {
|
|
228
228
|
alignItems: 'center',
|
|
229
|
-
backgroundColor: '#
|
|
229
|
+
backgroundColor: '#18181B',
|
|
230
230
|
borderRadius: 17,
|
|
231
231
|
justifyContent: 'center',
|
|
232
232
|
marginTop: 20,
|
|
@@ -234,14 +234,14 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
234
234
|
paddingHorizontal: 18
|
|
235
235
|
},
|
|
236
236
|
primaryButtonText: {
|
|
237
|
-
color: '#
|
|
237
|
+
color: '#FFFFFF',
|
|
238
238
|
fontSize: 16,
|
|
239
239
|
fontWeight: '900'
|
|
240
240
|
},
|
|
241
241
|
secondaryButton: {
|
|
242
242
|
alignItems: 'center',
|
|
243
|
-
backgroundColor: '#
|
|
244
|
-
borderColor: '#
|
|
243
|
+
backgroundColor: '#FFFFFF',
|
|
244
|
+
borderColor: '#E4E4E7',
|
|
245
245
|
borderRadius: 16,
|
|
246
246
|
borderWidth: 1,
|
|
247
247
|
flexDirection: 'row',
|
|
@@ -251,7 +251,7 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
251
251
|
paddingHorizontal: 16
|
|
252
252
|
},
|
|
253
253
|
secondaryButtonText: {
|
|
254
|
-
color: '#
|
|
254
|
+
color: '#18181B',
|
|
255
255
|
fontSize: 14,
|
|
256
256
|
fontWeight: '900',
|
|
257
257
|
marginLeft: 7
|
|
@@ -266,19 +266,19 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
266
266
|
marginBottom: 10
|
|
267
267
|
},
|
|
268
268
|
sectionTitle: {
|
|
269
|
-
color: '#
|
|
269
|
+
color: '#18181B',
|
|
270
270
|
fontSize: 17,
|
|
271
271
|
fontWeight: '900'
|
|
272
272
|
},
|
|
273
273
|
sectionCount: {
|
|
274
|
-
color: '#
|
|
274
|
+
color: '#A1A1AA',
|
|
275
275
|
fontSize: 12,
|
|
276
276
|
fontWeight: '900'
|
|
277
277
|
},
|
|
278
278
|
agentRow: {
|
|
279
279
|
alignItems: 'center',
|
|
280
|
-
backgroundColor: '#
|
|
281
|
-
borderColor: '#
|
|
280
|
+
backgroundColor: '#FFFFFF',
|
|
281
|
+
borderColor: '#E4E4E7',
|
|
282
282
|
borderRadius: 17,
|
|
283
283
|
borderWidth: 1,
|
|
284
284
|
flexDirection: 'row',
|
|
@@ -294,12 +294,12 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
294
294
|
minWidth: 0
|
|
295
295
|
},
|
|
296
296
|
agentRowName: {
|
|
297
|
-
color: '#
|
|
297
|
+
color: '#18181B',
|
|
298
298
|
fontSize: 15,
|
|
299
299
|
fontWeight: '900'
|
|
300
300
|
},
|
|
301
301
|
agentRowDescription: {
|
|
302
|
-
color: '#
|
|
302
|
+
color: '#71717A',
|
|
303
303
|
fontSize: 12,
|
|
304
304
|
fontWeight: '600',
|
|
305
305
|
lineHeight: 17,
|
|
@@ -307,8 +307,8 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
307
307
|
},
|
|
308
308
|
compactAvatar: {
|
|
309
309
|
alignItems: 'center',
|
|
310
|
-
backgroundColor: '#
|
|
311
|
-
borderColor: '#
|
|
310
|
+
backgroundColor: '#F4F4F5',
|
|
311
|
+
borderColor: '#E4E4E7',
|
|
312
312
|
borderRadius: 15,
|
|
313
313
|
borderWidth: 1,
|
|
314
314
|
height: 38,
|
|
@@ -330,7 +330,7 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
330
330
|
fontWeight: '700'
|
|
331
331
|
},
|
|
332
332
|
helperText: {
|
|
333
|
-
color: '#
|
|
333
|
+
color: '#A1A1AA',
|
|
334
334
|
fontSize: 12,
|
|
335
335
|
fontWeight: '700',
|
|
336
336
|
lineHeight: 18,
|
|
@@ -25,6 +25,36 @@ function useSuperagentConversation({
|
|
|
25
25
|
const [initError, setInitError] = (0, _react.useState)(null);
|
|
26
26
|
const [hasMoreMessages, setHasMoreMessages] = (0, _react.useState)(false);
|
|
27
27
|
const sendGenerationRef = (0, _react.useRef)(0);
|
|
28
|
+
const pollIntervalRef = (0, _react.useRef)(null);
|
|
29
|
+
const loadingPreviousRef = (0, _react.useRef)(false);
|
|
30
|
+
const settleTimeoutRef = (0, _react.useRef)(null);
|
|
31
|
+
const messagesRef = (0, _react.useRef)(messages);
|
|
32
|
+
const onAgentMessageDoneRef = (0, _react.useRef)(onAgentMessageDone);
|
|
33
|
+
const onConversationSettledRef = (0, _react.useRef)(onConversationSettled);
|
|
34
|
+
(0, _react.useEffect)(() => {
|
|
35
|
+
messagesRef.current = messages;
|
|
36
|
+
}, [messages]);
|
|
37
|
+
(0, _react.useEffect)(() => {
|
|
38
|
+
onAgentMessageDoneRef.current = onAgentMessageDone;
|
|
39
|
+
onConversationSettledRef.current = onConversationSettled;
|
|
40
|
+
}, [onAgentMessageDone, onConversationSettled]);
|
|
41
|
+
|
|
42
|
+
// Cancel any in-flight poll/settle timers — called on each new send and on unmount.
|
|
43
|
+
const clearPendingSettlers = (0, _react.useCallback)(() => {
|
|
44
|
+
if (pollIntervalRef.current) {
|
|
45
|
+
clearInterval(pollIntervalRef.current);
|
|
46
|
+
pollIntervalRef.current = null;
|
|
47
|
+
}
|
|
48
|
+
if (settleTimeoutRef.current) {
|
|
49
|
+
clearTimeout(settleTimeoutRef.current);
|
|
50
|
+
settleTimeoutRef.current = null;
|
|
51
|
+
}
|
|
52
|
+
}, []);
|
|
53
|
+
|
|
54
|
+
// Clear any active poll interval / settle timeout when the hook unmounts.
|
|
55
|
+
(0, _react.useEffect)(() => {
|
|
56
|
+
return () => clearPendingSettlers();
|
|
57
|
+
}, [clearPendingSettlers]);
|
|
28
58
|
(0, _react.useEffect)(() => {
|
|
29
59
|
if (!apiClient) setMessages(fallbackMessages);
|
|
30
60
|
}, [apiClient, fallbackMessages]);
|
|
@@ -69,45 +99,64 @@ function useSuperagentConversation({
|
|
|
69
99
|
if (!realtimeClient || !conversationId) return undefined;
|
|
70
100
|
return realtimeClient.subscribeToConversation(conversationId, {
|
|
71
101
|
onMessage(message) {
|
|
102
|
+
// Don't clear the sending/stop state on intermediate assistant messages
|
|
103
|
+
// (tool-call steps or streamed content arrive before the turn is done).
|
|
104
|
+
// The turn ends on `agent_done` (onAgentDone) or the 5s settle fallback.
|
|
72
105
|
setMessages(current => (0, _conversationRuntime.mergeMessage)(current, message));
|
|
73
|
-
if (message.role === 'assistant' && (message.content || message.toolCalls?.length || message.tool_calls?.length)) {
|
|
74
|
-
setIsSending(false);
|
|
75
|
-
}
|
|
76
106
|
},
|
|
77
107
|
onConversation(conversation) {
|
|
78
108
|
if (conversation.id !== conversationId) return;
|
|
79
|
-
|
|
109
|
+
const incoming = (0, _conversationRuntime.normalizeMessages)(conversation.messages ?? []);
|
|
110
|
+
setMessages(current => (0, _conversationRuntime.mergeConversationSnapshot)(current, incoming));
|
|
80
111
|
},
|
|
81
112
|
onAgentDone() {
|
|
113
|
+
// Agent finished via realtime — cancel the 5s settle fallback so
|
|
114
|
+
// onConversationSettled doesn't also fire when the timer elapses.
|
|
115
|
+
if (settleTimeoutRef.current) {
|
|
116
|
+
clearTimeout(settleTimeoutRef.current);
|
|
117
|
+
settleTimeoutRef.current = null;
|
|
118
|
+
}
|
|
82
119
|
setIsSending(false);
|
|
83
|
-
|
|
120
|
+
setQueuedMessages([]);
|
|
121
|
+
onAgentMessageDoneRef.current?.();
|
|
84
122
|
if (apiClient) {
|
|
85
|
-
(0, _conversationRuntime.refreshConversation)(apiClient, conversationId, setMessages).then(() =>
|
|
123
|
+
(0, _conversationRuntime.refreshConversation)(apiClient, conversationId, setMessages).then(() => onConversationSettledRef.current?.()).catch(() => {});
|
|
86
124
|
} else {
|
|
87
|
-
|
|
125
|
+
onConversationSettledRef.current?.();
|
|
88
126
|
}
|
|
89
127
|
},
|
|
90
128
|
onReconnect() {
|
|
129
|
+
// A reconnect means the transient socket error cleared — drop the
|
|
130
|
+
// "something went wrong" state so it doesn't linger as a failed load.
|
|
131
|
+
setInitError(null);
|
|
91
132
|
if (apiClient) (0, _conversationRuntime.refreshConversation)(apiClient, conversationId, setMessages).catch(() => {});
|
|
92
133
|
},
|
|
93
134
|
onError(error) {
|
|
94
135
|
setInitError(error instanceof Error ? error.message : 'Realtime connection failed');
|
|
95
136
|
}
|
|
96
137
|
});
|
|
97
|
-
}, [apiClient, conversationId,
|
|
138
|
+
}, [apiClient, conversationId, realtimeClient]);
|
|
98
139
|
const visibleMessages = (0, _react.useMemo)(() => messages.filter((message, index) => (0, _conversationRuntime.isVisibleMessage)(message, index)), [messages]);
|
|
99
140
|
const sendMessage = (0, _react.useCallback)(async (content, options = {}) => {
|
|
100
141
|
const trimmedContent = content.trim();
|
|
101
142
|
const fileUrls = options.fileUrls?.filter(Boolean) ?? [];
|
|
102
143
|
if (!trimmedContent && fileUrls.length === 0) return;
|
|
103
|
-
|
|
144
|
+
|
|
145
|
+
// A new send supersedes any pending poll/settle timers from the previous one.
|
|
146
|
+
clearPendingSettlers();
|
|
147
|
+
const assistantCountBefore = (0, _conversationRuntime.countAssistantResponses)(messagesRef.current);
|
|
104
148
|
const userMessage = (0, _conversationRuntime.createUserMessage)(trimmedContent, {
|
|
105
149
|
fileUrls,
|
|
106
150
|
replyTo: options.replyTo
|
|
107
151
|
});
|
|
108
152
|
setMessages(current => [...current, userMessage]);
|
|
109
153
|
if (!apiClient || !conversationId) {
|
|
110
|
-
if (!onSendMessage)
|
|
154
|
+
if (!onSendMessage) {
|
|
155
|
+
// No send path yet (no fallback handler, or the conversation is still
|
|
156
|
+
// loading) — drop the optimistic bubble so the turn doesn't look sent.
|
|
157
|
+
setMessages(current => current.filter(message => message.id !== userMessage.id));
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
111
160
|
const sendGeneration = sendGenerationRef.current + 1;
|
|
112
161
|
sendGenerationRef.current = sendGeneration;
|
|
113
162
|
const setSendingForCurrentSend = value => {
|
|
@@ -115,7 +164,7 @@ function useSuperagentConversation({
|
|
|
115
164
|
};
|
|
116
165
|
setIsSending(true);
|
|
117
166
|
const hasAssistantResponse = await (0, _conversationRuntime.sendWithFallback)(agentId, trimmedContent, fileUrls, options.replyTo, onSendMessage, setMessages, setSendingForCurrentSend);
|
|
118
|
-
if (hasAssistantResponse)
|
|
167
|
+
if (hasAssistantResponse) onAgentMessageDoneRef.current?.();
|
|
119
168
|
return;
|
|
120
169
|
}
|
|
121
170
|
const sendGeneration = sendGenerationRef.current + 1;
|
|
@@ -125,6 +174,25 @@ function useSuperagentConversation({
|
|
|
125
174
|
};
|
|
126
175
|
setIsSending(true);
|
|
127
176
|
try {
|
|
177
|
+
// Wait for the turn to complete: poll without realtime, otherwise a 5s
|
|
178
|
+
// fallback in case agent_done never arrives.
|
|
179
|
+
const armSettleFallback = () => {
|
|
180
|
+
if (!realtimeClient) {
|
|
181
|
+
pollIntervalRef.current = (0, _conversationRuntime.pollConversation)(apiClient, conversationId, setMessages, setSendingForCurrentSend, assistantCountBefore, () => {
|
|
182
|
+
setQueuedMessages([]);
|
|
183
|
+
onConversationSettledRef.current?.();
|
|
184
|
+
}, () => onAgentMessageDoneRef.current?.());
|
|
185
|
+
} else {
|
|
186
|
+
settleTimeoutRef.current = setTimeout(() => {
|
|
187
|
+
settleTimeoutRef.current = null;
|
|
188
|
+
(0, _conversationRuntime.refreshConversation)(apiClient, conversationId, setMessages).catch(() => {});
|
|
189
|
+
setSendingForCurrentSend(false);
|
|
190
|
+
setQueuedMessages([]);
|
|
191
|
+
onAgentMessageDoneRef.current?.();
|
|
192
|
+
onConversationSettledRef.current?.();
|
|
193
|
+
}, 5000);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
128
196
|
const response = await apiClient.addMessage(conversationId, userMessage);
|
|
129
197
|
if ((0, _conversationRuntime.isQueuedResponse)(response)) {
|
|
130
198
|
setQueuedMessages(current => [...current, {
|
|
@@ -132,21 +200,17 @@ function useSuperagentConversation({
|
|
|
132
200
|
content: userMessage.content,
|
|
133
201
|
position: current.length
|
|
134
202
|
}]);
|
|
203
|
+
// A queued send still needs a settle path, or isSending / the queued strip stick.
|
|
204
|
+
armSettleFallback();
|
|
135
205
|
} else {
|
|
136
206
|
const refreshedMessages = await (0, _conversationRuntime.refreshConversation)(apiClient, conversationId, setMessages);
|
|
137
|
-
if (!realtimeClient) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
} else {
|
|
143
|
-
(0, _conversationRuntime.pollConversation)(apiClient, conversationId, setMessages, setSendingForCurrentSend, assistantCountBefore, onConversationSettled, onAgentMessageDone);
|
|
144
|
-
}
|
|
207
|
+
if (!realtimeClient && (0, _conversationRuntime.hasNewAssistantResponse)(refreshedMessages, assistantCountBefore)) {
|
|
208
|
+
setSendingForCurrentSend(false);
|
|
209
|
+
setQueuedMessages([]);
|
|
210
|
+
onAgentMessageDoneRef.current?.();
|
|
211
|
+
onConversationSettledRef.current?.();
|
|
145
212
|
} else {
|
|
146
|
-
|
|
147
|
-
setSendingForCurrentSend(false);
|
|
148
|
-
onConversationSettled?.();
|
|
149
|
-
}, 5000);
|
|
213
|
+
armSettleFallback();
|
|
150
214
|
}
|
|
151
215
|
}
|
|
152
216
|
} catch (error) {
|
|
@@ -154,7 +218,7 @@ function useSuperagentConversation({
|
|
|
154
218
|
setMessages(current => [...current, errorMessage]);
|
|
155
219
|
setSendingForCurrentSend(false);
|
|
156
220
|
}
|
|
157
|
-
}, [agentId, apiClient,
|
|
221
|
+
}, [agentId, apiClient, clearPendingSettlers, conversationId, onSendMessage, realtimeClient]);
|
|
158
222
|
const deleteMessage = (0, _react.useCallback)(async messageId => {
|
|
159
223
|
if (!messageId || messageId === 'welcome') return false;
|
|
160
224
|
if (!apiClient || !conversationId) {
|
|
@@ -163,15 +227,22 @@ function useSuperagentConversation({
|
|
|
163
227
|
}
|
|
164
228
|
try {
|
|
165
229
|
await apiClient.deleteMessage(conversationId, messageId);
|
|
230
|
+
// Remove locally before refreshing: mergeConversationSnapshot keeps rows
|
|
231
|
+
// missing from the server snapshot, so without this the just-deleted
|
|
232
|
+
// message would be resurrected.
|
|
233
|
+
setMessages(current => current.filter(message => message.id !== messageId));
|
|
166
234
|
await (0, _conversationRuntime.refreshConversation)(apiClient, conversationId, setMessages);
|
|
167
235
|
return true;
|
|
168
|
-
} catch
|
|
169
|
-
|
|
236
|
+
} catch {
|
|
237
|
+
// A failed delete is not a load failure — don't drive the "something went
|
|
238
|
+
// wrong" panel (it would persist). Signal failure via the return value so
|
|
239
|
+
// the caller can surface it.
|
|
170
240
|
return false;
|
|
171
241
|
}
|
|
172
242
|
}, [apiClient, conversationId]);
|
|
173
243
|
const stop = (0, _react.useCallback)(async () => {
|
|
174
244
|
sendGenerationRef.current += 1;
|
|
245
|
+
clearPendingSettlers();
|
|
175
246
|
if (!apiClient || !conversationId) {
|
|
176
247
|
setIsSending(false);
|
|
177
248
|
return;
|
|
@@ -180,21 +251,33 @@ function useSuperagentConversation({
|
|
|
180
251
|
setQueuedMessages([]);
|
|
181
252
|
await apiClient.stopConversation(conversationId);
|
|
182
253
|
await (0, _conversationRuntime.refreshConversation)(apiClient, conversationId, setMessages);
|
|
183
|
-
}, [apiClient, conversationId]);
|
|
254
|
+
}, [apiClient, clearPendingSettlers, conversationId]);
|
|
184
255
|
const loadPrevious = (0, _react.useCallback)(async () => {
|
|
256
|
+
if (loadingPreviousRef.current) return;
|
|
185
257
|
const before = (0, _conversationRuntime.getMessageCursor)(messages[0]);
|
|
186
258
|
if (!apiClient || !conversationId || !before) return;
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
259
|
+
loadingPreviousRef.current = true;
|
|
260
|
+
try {
|
|
261
|
+
const page = await apiClient.getMessages(conversationId, {
|
|
262
|
+
limit: _constants.MESSAGES_PAGE_SIZE,
|
|
263
|
+
before
|
|
264
|
+
});
|
|
265
|
+
setMessages(current => [...(0, _conversationRuntime.normalizeMessages)(page.messages), ...current]);
|
|
266
|
+
setHasMoreMessages(Boolean(page.has_more ?? page.hasMore));
|
|
267
|
+
} catch {
|
|
268
|
+
// Pagination failed — swallow so it isn't an unhandled rejection from the
|
|
269
|
+
// button, and leave hasMoreMessages as-is so the user can retry.
|
|
270
|
+
} finally {
|
|
271
|
+
loadingPreviousRef.current = false;
|
|
272
|
+
}
|
|
193
273
|
}, [apiClient, conversationId, messages]);
|
|
194
274
|
const submitToolCallInput = (0, _react.useCallback)(async (toolCallId, approve, extraUserInput, originRequestId) => {
|
|
195
275
|
if (!apiClient || !conversationId) return null;
|
|
196
276
|
const updated = await apiClient.submitToolCallInput(conversationId, toolCallId, approve, extraUserInput, originRequestId);
|
|
197
|
-
if (updated.messages)
|
|
277
|
+
if (updated.messages) {
|
|
278
|
+
const incoming = (0, _conversationRuntime.normalizeMessages)(updated.messages);
|
|
279
|
+
setMessages(current => (0, _conversationRuntime.mergeConversationSnapshot)(current, incoming));
|
|
280
|
+
}
|
|
198
281
|
onConversationSettled?.();
|
|
199
282
|
return updated;
|
|
200
283
|
}, [apiClient, conversationId, onConversationSettled]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_constants","_conversationRuntime","useSuperagentConversation","agentId","apiClient","realtimeClient","fallbackMessages","fallbackSending","onAgentMessageDone","onConversationSettled","onSendMessage","conversationId","setConversationId","useState","messages","setMessages","queuedMessages","setQueuedMessages","isLoading","setIsLoading","isSending","setIsSending","initError","setInitError","hasMoreMessages","setHasMoreMessages","sendGenerationRef","useRef","useEffect","client","cancelled","initConversation","conversations","getConversations","conversation","createConversation","page","getMessages","id","limit","MESSAGES_PAGE_SIZE","normalizeMessages","Boolean","has_more","hasMore","length","addMessage","createUserMessage","AUTO_GREET_MESSAGE","refreshConversation","error","Error","message","undefined","subscribeToConversation","onMessage","current","mergeMessage","role","content","toolCalls","tool_calls","onConversation","onAgentDone","then","catch","onReconnect","onError","visibleMessages","useMemo","filter","index","isVisibleMessage","sendMessage","useCallback","options","trimmedContent","trim","fileUrls","assistantCountBefore","countAssistantResponses","userMessage","replyTo","sendGeneration","setSendingForCurrentSend","value","hasAssistantResponse","sendWithFallback","response","isQueuedResponse","position","refreshedMessages","hasNewAssistantResponse","pollConversation","setTimeout","errorMessage","createErrorMessage","deleteMessage","messageId","stop","stopConversation","loadPrevious","before","getMessageCursor","submitToolCallInput","toolCallId","approve","extraUserInput","originRequestId","updated"],"sourceRoot":"../../src","sources":["useSuperagentConversation.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_constants","_conversationRuntime","useSuperagentConversation","agentId","apiClient","realtimeClient","fallbackMessages","fallbackSending","onAgentMessageDone","onConversationSettled","onSendMessage","conversationId","setConversationId","useState","messages","setMessages","queuedMessages","setQueuedMessages","isLoading","setIsLoading","isSending","setIsSending","initError","setInitError","hasMoreMessages","setHasMoreMessages","sendGenerationRef","useRef","pollIntervalRef","loadingPreviousRef","settleTimeoutRef","messagesRef","onAgentMessageDoneRef","onConversationSettledRef","useEffect","current","clearPendingSettlers","useCallback","clearInterval","clearTimeout","client","cancelled","initConversation","conversations","getConversations","conversation","createConversation","page","getMessages","id","limit","MESSAGES_PAGE_SIZE","normalizeMessages","Boolean","has_more","hasMore","length","addMessage","createUserMessage","AUTO_GREET_MESSAGE","refreshConversation","error","Error","message","undefined","subscribeToConversation","onMessage","mergeMessage","onConversation","incoming","mergeConversationSnapshot","onAgentDone","then","catch","onReconnect","onError","visibleMessages","useMemo","filter","index","isVisibleMessage","sendMessage","content","options","trimmedContent","trim","fileUrls","assistantCountBefore","countAssistantResponses","userMessage","replyTo","sendGeneration","setSendingForCurrentSend","value","hasAssistantResponse","sendWithFallback","armSettleFallback","pollConversation","setTimeout","response","isQueuedResponse","position","refreshedMessages","hasNewAssistantResponse","errorMessage","createErrorMessage","deleteMessage","messageId","stop","stopConversation","loadPrevious","before","getMessageCursor","submitToolCallInput","toolCallId","approve","extraUserInput","originRequestId","updated"],"sourceRoot":"../../src","sources":["useSuperagentConversation.ts"],"mappings":"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","ignoreList":[]}
|