@docyrus/rn-assistant 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/commonjs/components/message-parts/message-parts.js +68 -202
  2. package/dist/commonjs/components/message-parts/message-parts.js.map +1 -1
  3. package/dist/commonjs/components/message-parts/tools/generate-chart-tool.js +240 -0
  4. package/dist/commonjs/components/message-parts/tools/generate-chart-tool.js.map +1 -0
  5. package/dist/commonjs/components/message-parts/tools/index.js +41 -0
  6. package/dist/commonjs/components/message-parts/tools/index.js.map +1 -0
  7. package/dist/commonjs/components/message-parts/tools/mermaid-diagram-tool.js +223 -0
  8. package/dist/commonjs/components/message-parts/tools/mermaid-diagram-tool.js.map +1 -0
  9. package/dist/commonjs/components/message-parts/tools/request-approval-tool.js +124 -0
  10. package/dist/commonjs/components/message-parts/tools/request-approval-tool.js.map +1 -0
  11. package/dist/commonjs/components/message-parts/tools/search-web-tool.js +470 -0
  12. package/dist/commonjs/components/message-parts/tools/search-web-tool.js.map +1 -0
  13. package/dist/commonjs/components/message-parts/tools/show-image-tool.js +85 -0
  14. package/dist/commonjs/components/message-parts/tools/show-image-tool.js.map +1 -0
  15. package/dist/commonjs/components/sessions-list/sessions-list.js +1 -4
  16. package/dist/commonjs/components/sessions-list/sessions-list.js.map +1 -1
  17. package/dist/commonjs/hooks/use-assistant.js +22 -16
  18. package/dist/commonjs/hooks/use-assistant.js.map +1 -1
  19. package/dist/commonjs/utils/default-api-config.js +1 -0
  20. package/dist/commonjs/utils/default-api-config.js.map +1 -1
  21. package/dist/module/components/message-parts/message-parts.js +68 -202
  22. package/dist/module/components/message-parts/message-parts.js.map +1 -1
  23. package/dist/module/components/message-parts/tools/generate-chart-tool.js +236 -0
  24. package/dist/module/components/message-parts/tools/generate-chart-tool.js.map +1 -0
  25. package/dist/module/components/message-parts/tools/index.js +8 -0
  26. package/dist/module/components/message-parts/tools/index.js.map +1 -0
  27. package/dist/module/components/message-parts/tools/mermaid-diagram-tool.js +219 -0
  28. package/dist/module/components/message-parts/tools/mermaid-diagram-tool.js.map +1 -0
  29. package/dist/module/components/message-parts/tools/request-approval-tool.js +120 -0
  30. package/dist/module/components/message-parts/tools/request-approval-tool.js.map +1 -0
  31. package/dist/module/components/message-parts/tools/search-web-tool.js +466 -0
  32. package/dist/module/components/message-parts/tools/search-web-tool.js.map +1 -0
  33. package/dist/module/components/message-parts/tools/show-image-tool.js +81 -0
  34. package/dist/module/components/message-parts/tools/show-image-tool.js.map +1 -0
  35. package/dist/module/components/sessions-list/sessions-list.js +1 -4
  36. package/dist/module/components/sessions-list/sessions-list.js.map +1 -1
  37. package/dist/module/hooks/use-assistant.js +22 -16
  38. package/dist/module/hooks/use-assistant.js.map +1 -1
  39. package/dist/module/utils/default-api-config.js +1 -0
  40. package/dist/module/utils/default-api-config.js.map +1 -1
  41. package/dist/typescript/commonjs/src/components/message-parts/message-parts.d.ts.map +1 -1
  42. package/dist/typescript/commonjs/src/components/message-parts/tools/generate-chart-tool.d.ts +14 -0
  43. package/dist/typescript/commonjs/src/components/message-parts/tools/generate-chart-tool.d.ts.map +1 -0
  44. package/dist/typescript/commonjs/src/components/message-parts/tools/index.d.ts +6 -0
  45. package/dist/typescript/commonjs/src/components/message-parts/tools/index.d.ts.map +1 -0
  46. package/dist/typescript/commonjs/src/components/message-parts/tools/mermaid-diagram-tool.d.ts +13 -0
  47. package/dist/typescript/commonjs/src/components/message-parts/tools/mermaid-diagram-tool.d.ts.map +1 -0
  48. package/dist/typescript/commonjs/src/components/message-parts/tools/request-approval-tool.d.ts +11 -0
  49. package/dist/typescript/commonjs/src/components/message-parts/tools/request-approval-tool.d.ts.map +1 -0
  50. package/dist/typescript/commonjs/src/components/message-parts/tools/search-web-tool.d.ts +13 -0
  51. package/dist/typescript/commonjs/src/components/message-parts/tools/search-web-tool.d.ts.map +1 -0
  52. package/dist/typescript/commonjs/src/components/message-parts/tools/show-image-tool.d.ts +15 -0
  53. package/dist/typescript/commonjs/src/components/message-parts/tools/show-image-tool.d.ts.map +1 -0
  54. package/dist/typescript/commonjs/src/hooks/use-assistant.d.ts.map +1 -1
  55. package/dist/typescript/commonjs/src/types/index.d.ts +7 -2
  56. package/dist/typescript/commonjs/src/types/index.d.ts.map +1 -1
  57. package/dist/typescript/commonjs/src/utils/default-api-config.d.ts.map +1 -1
  58. package/dist/typescript/module/src/components/message-parts/message-parts.d.ts.map +1 -1
  59. package/dist/typescript/module/src/components/message-parts/tools/generate-chart-tool.d.ts +14 -0
  60. package/dist/typescript/module/src/components/message-parts/tools/generate-chart-tool.d.ts.map +1 -0
  61. package/dist/typescript/module/src/components/message-parts/tools/index.d.ts +6 -0
  62. package/dist/typescript/module/src/components/message-parts/tools/index.d.ts.map +1 -0
  63. package/dist/typescript/module/src/components/message-parts/tools/mermaid-diagram-tool.d.ts +13 -0
  64. package/dist/typescript/module/src/components/message-parts/tools/mermaid-diagram-tool.d.ts.map +1 -0
  65. package/dist/typescript/module/src/components/message-parts/tools/request-approval-tool.d.ts +11 -0
  66. package/dist/typescript/module/src/components/message-parts/tools/request-approval-tool.d.ts.map +1 -0
  67. package/dist/typescript/module/src/components/message-parts/tools/search-web-tool.d.ts +13 -0
  68. package/dist/typescript/module/src/components/message-parts/tools/search-web-tool.d.ts.map +1 -0
  69. package/dist/typescript/module/src/components/message-parts/tools/show-image-tool.d.ts +15 -0
  70. package/dist/typescript/module/src/components/message-parts/tools/show-image-tool.d.ts.map +1 -0
  71. package/dist/typescript/module/src/hooks/use-assistant.d.ts.map +1 -1
  72. package/dist/typescript/module/src/types/index.d.ts +7 -2
  73. package/dist/typescript/module/src/types/index.d.ts.map +1 -1
  74. package/dist/typescript/module/src/utils/default-api-config.d.ts.map +1 -1
  75. package/package.json +7 -2
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ import { View, Text, TouchableOpacity } from 'react-native';
4
+ import { Check, CheckCircle2, ShieldCheck, X } from 'lucide-react-native';
5
+ import { useDocyrusRNAssistantTheme } from "../../../theme/index.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export function RequestApprovalTool({
8
+ action,
9
+ details,
10
+ state
11
+ }) {
12
+ const theme = useDocyrusRNAssistantTheme();
13
+ const isResolved = state === 'output-available';
14
+ return /*#__PURE__*/_jsxs(View, {
15
+ style: {
16
+ borderRadius: 12,
17
+ borderWidth: 1,
18
+ borderColor: theme.colors.border,
19
+ backgroundColor: theme.colors.card,
20
+ padding: 16,
21
+ marginVertical: 4,
22
+ gap: 10
23
+ },
24
+ children: [/*#__PURE__*/_jsxs(View, {
25
+ style: {
26
+ flexDirection: 'row',
27
+ alignItems: 'center',
28
+ gap: 8
29
+ },
30
+ children: [/*#__PURE__*/_jsx(ShieldCheck, {
31
+ size: 16,
32
+ color: theme.colors.primary
33
+ }), /*#__PURE__*/_jsx(Text, {
34
+ style: {
35
+ fontSize: 14,
36
+ fontWeight: '600',
37
+ color: theme.colors.foreground,
38
+ flex: 1
39
+ },
40
+ children: action
41
+ })]
42
+ }), details ? /*#__PURE__*/_jsx(Text, {
43
+ style: {
44
+ fontSize: 13,
45
+ color: theme.colors.mutedForeground,
46
+ lineHeight: 19
47
+ },
48
+ children: details
49
+ }) : null, !isResolved ? /*#__PURE__*/_jsxs(View, {
50
+ style: {
51
+ flexDirection: 'row',
52
+ gap: 10,
53
+ marginTop: 4
54
+ },
55
+ children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
56
+ style: {
57
+ flexDirection: 'row',
58
+ alignItems: 'center',
59
+ gap: 6,
60
+ backgroundColor: theme.colors.primary,
61
+ paddingHorizontal: 14,
62
+ paddingVertical: 8,
63
+ borderRadius: 8
64
+ },
65
+ children: [/*#__PURE__*/_jsx(Check, {
66
+ size: 14,
67
+ color: "#ffffff"
68
+ }), /*#__PURE__*/_jsx(Text, {
69
+ style: {
70
+ fontSize: 13,
71
+ fontWeight: '600',
72
+ color: '#ffffff'
73
+ },
74
+ children: "Approve"
75
+ })]
76
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
77
+ style: {
78
+ flexDirection: 'row',
79
+ alignItems: 'center',
80
+ gap: 6,
81
+ backgroundColor: `${theme.colors.destructive}15`,
82
+ paddingHorizontal: 14,
83
+ paddingVertical: 8,
84
+ borderRadius: 8
85
+ },
86
+ children: [/*#__PURE__*/_jsx(X, {
87
+ size: 14,
88
+ color: theme.colors.destructive
89
+ }), /*#__PURE__*/_jsx(Text, {
90
+ style: {
91
+ fontSize: 13,
92
+ fontWeight: '600',
93
+ color: theme.colors.destructive
94
+ },
95
+ children: "Reject"
96
+ })]
97
+ })]
98
+ }) : /*#__PURE__*/_jsxs(View, {
99
+ style: {
100
+ flexDirection: 'row',
101
+ alignItems: 'center',
102
+ gap: 6,
103
+ marginTop: 2
104
+ },
105
+ children: [/*#__PURE__*/_jsx(CheckCircle2, {
106
+ size: 14,
107
+ color: "#16a34a"
108
+ }), /*#__PURE__*/_jsx(Text, {
109
+ style: {
110
+ fontSize: 12,
111
+ color: '#16a34a',
112
+ fontWeight: '500'
113
+ },
114
+ children: "Resolved"
115
+ })]
116
+ })]
117
+ });
118
+ }
119
+ RequestApprovalTool.displayName = 'RequestApprovalTool';
120
+ //# sourceMappingURL=request-approval-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","Text","TouchableOpacity","Check","CheckCircle2","ShieldCheck","X","useDocyrusRNAssistantTheme","jsx","_jsx","jsxs","_jsxs","RequestApprovalTool","action","details","state","theme","isResolved","style","borderRadius","borderWidth","borderColor","colors","border","backgroundColor","card","padding","marginVertical","gap","children","flexDirection","alignItems","size","color","primary","fontSize","fontWeight","foreground","flex","mutedForeground","lineHeight","marginTop","paddingHorizontal","paddingVertical","destructive","displayName"],"sourceRoot":"../../../../../src","sources":["components/message-parts/tools/request-approval-tool.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,466 @@
1
+ "use strict";
2
+
3
+ import { useState, useMemo, useCallback } from 'react';
4
+ import { View, Text, TouchableOpacity, Linking } from 'react-native';
5
+ import { Image } from 'expo-image';
6
+ import { ChevronDown, Search, Globe, XCircle } from 'lucide-react-native';
7
+ import { useDocyrusRNAssistantTheme } from "../../../theme/index.js";
8
+
9
+ /* ------------------------------------------------------------------ */
10
+ /* Types */
11
+ /* ------------------------------------------------------------------ */
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ /* ------------------------------------------------------------------ */
14
+ /* Helpers */
15
+ /* ------------------------------------------------------------------ */
16
+
17
+ function getDomain(url) {
18
+ try {
19
+ return new URL(url).hostname.replace('www.', '');
20
+ } catch {
21
+ return url;
22
+ }
23
+ }
24
+ function cleanSnippet(snippet, maxLength = 150) {
25
+ if (!snippet) return '';
26
+ return snippet.replace(/<[^>]*>/g, '').replace(/\[([^\]]+)\]\([^)]+\)/g, '$1').replace(/[#*_]/g, '').replace(/\s+/g, ' ').trim().substring(0, maxLength);
27
+ }
28
+ function formatDate(dateString) {
29
+ if (!dateString) return '';
30
+ try {
31
+ const date = new Date(dateString);
32
+ const now = new Date();
33
+ const diff = now.getTime() - date.getTime();
34
+ const hours = Math.floor(diff / (1000 * 60 * 60));
35
+ if (hours < 1) {
36
+ const minutes = Math.floor(diff / (1000 * 60));
37
+ return minutes <= 1 ? 'Just now' : `${minutes}m ago`;
38
+ }
39
+ if (hours < 24) return `${hours}h ago`;
40
+ if (hours < 48) return 'Yesterday';
41
+ return date.toLocaleDateString('en-US', {
42
+ month: 'short',
43
+ day: 'numeric',
44
+ year: date.getFullYear() !== now.getFullYear() ? 'numeric' : undefined
45
+ });
46
+ } catch {
47
+ return dateString;
48
+ }
49
+ }
50
+ function parseOutput(output) {
51
+ if (!output) return {};
52
+ let parsed;
53
+ if (typeof output === 'string') {
54
+ try {
55
+ const result = JSON.parse(output);
56
+ if (Array.isArray(result)) return {
57
+ results: result
58
+ };
59
+ parsed = result;
60
+ } catch {
61
+ return {};
62
+ }
63
+ } else if (Array.isArray(output)) {
64
+ return {
65
+ results: output
66
+ };
67
+ } else {
68
+ parsed = output;
69
+ }
70
+
71
+ // Handle nested result field (Exa format)
72
+ if (parsed.result && typeof parsed.result === 'string') {
73
+ try {
74
+ const nested = JSON.parse(parsed.result);
75
+ if (nested && typeof nested === 'object') {
76
+ if (Array.isArray(nested.results)) parsed.results = nested.results;
77
+ if (nested.searchType) parsed.searchType = nested.searchType;
78
+ if (nested.context) parsed.context = nested.context;
79
+ } else if (Array.isArray(nested)) {
80
+ parsed.results = nested;
81
+ }
82
+ } catch {
83
+ // leave as-is
84
+ }
85
+ }
86
+ return parsed;
87
+ }
88
+
89
+ /* ------------------------------------------------------------------ */
90
+ /* Component */
91
+ /* ------------------------------------------------------------------ */
92
+
93
+ export function SearchWebTool({
94
+ state,
95
+ output,
96
+ errorText,
97
+ title
98
+ }) {
99
+ const theme = useDocyrusRNAssistantTheme();
100
+ const [expanded, setExpanded] = useState(false);
101
+ const parsed = useMemo(() => parseOutput(output?.result ?? output), [output]);
102
+ const webSearchResults = useMemo(() => {
103
+ const out = parsed.output;
104
+ if (!Array.isArray(out)) return [];
105
+ return out.filter(item => item.type === 'web_search_result');
106
+ }, [parsed]);
107
+ const newsResults = useMemo(() => {
108
+ const {
109
+ result
110
+ } = parsed;
111
+ if (result && typeof result === 'object' && !Array.isArray(result)) {
112
+ const {
113
+ news
114
+ } = result;
115
+ return Array.isArray(news) ? news : [];
116
+ }
117
+ return [];
118
+ }, [parsed]);
119
+ const searchResults = useMemo(() => {
120
+ if (parsed.action || webSearchResults.length > 0 || newsResults.length > 0) return [];
121
+ if (Array.isArray(parsed.results)) return parsed.results;
122
+ const {
123
+ result
124
+ } = parsed;
125
+ if (typeof result === 'string') {
126
+ try {
127
+ const p = JSON.parse(result);
128
+ if (Array.isArray(p)) return p;
129
+ } catch {/* noop */}
130
+ }
131
+ if (Array.isArray(result)) return result;
132
+ return [];
133
+ }, [parsed, webSearchResults, newsResults]);
134
+ const hasResults = searchResults.length > 0 || webSearchResults.length > 0 || newsResults.length > 0 || !!parsed.action?.url || !!parsed.action?.query;
135
+ const headerText = useMemo(() => {
136
+ if (title) return title;
137
+ if (parsed.action?.url) return 'URL Result';
138
+ if (parsed.action?.query) return 'Query';
139
+ if (newsResults.length > 0) return `${newsResults.length} news`;
140
+ if (webSearchResults.length > 0) return `${webSearchResults.length} results`;
141
+ if (searchResults.length > 0) return `${searchResults.length} results`;
142
+ return 'Web Search';
143
+ }, [title, parsed, newsResults, webSearchResults, searchResults]);
144
+ const openLink = useCallback(url => {
145
+ Linking.openURL(url).catch(() => {});
146
+ }, []);
147
+
148
+ // Loading / streaming state
149
+ if (state === 'input-streaming' || state === 'input-available') {
150
+ return /*#__PURE__*/_jsxs(View, {
151
+ style: {
152
+ flexDirection: 'row',
153
+ alignItems: 'center',
154
+ gap: 6,
155
+ paddingVertical: 5,
156
+ paddingHorizontal: 2
157
+ },
158
+ children: [/*#__PURE__*/_jsx(Search, {
159
+ size: 12,
160
+ color: theme.colors.mutedForeground
161
+ }), /*#__PURE__*/_jsx(Text, {
162
+ style: {
163
+ fontSize: 12,
164
+ fontWeight: '300',
165
+ color: theme.colors.mutedForeground
166
+ },
167
+ children: title || 'Searching the web\u2026'
168
+ })]
169
+ });
170
+ }
171
+
172
+ // Error state
173
+ if (state === 'output-error') {
174
+ return /*#__PURE__*/_jsxs(View, {
175
+ style: {
176
+ flexDirection: 'row',
177
+ alignItems: 'center',
178
+ gap: 6,
179
+ paddingVertical: 5,
180
+ paddingHorizontal: 2
181
+ },
182
+ children: [/*#__PURE__*/_jsx(XCircle, {
183
+ size: 12,
184
+ color: theme.colors.destructive
185
+ }), /*#__PURE__*/_jsxs(Text, {
186
+ style: {
187
+ fontSize: 12,
188
+ color: theme.colors.destructive
189
+ },
190
+ children: ["Search failed", errorText ? `: ${errorText}` : '']
191
+ })]
192
+ });
193
+ }
194
+
195
+ // No results
196
+ if (!hasResults) {
197
+ return /*#__PURE__*/_jsxs(View, {
198
+ style: {
199
+ flexDirection: 'row',
200
+ alignItems: 'center',
201
+ gap: 6,
202
+ paddingVertical: 5,
203
+ paddingHorizontal: 2
204
+ },
205
+ children: [/*#__PURE__*/_jsx(Search, {
206
+ size: 12,
207
+ color: theme.colors.mutedForeground
208
+ }), /*#__PURE__*/_jsx(Text, {
209
+ style: {
210
+ fontSize: 12,
211
+ color: theme.colors.mutedForeground
212
+ },
213
+ children: "No results found"
214
+ })]
215
+ });
216
+ }
217
+
218
+ // Output available — collapsible results
219
+ return /*#__PURE__*/_jsxs(View, {
220
+ style: {
221
+ marginVertical: 4
222
+ },
223
+ children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
224
+ onPress: () => setExpanded(!expanded),
225
+ activeOpacity: 0.7,
226
+ style: {
227
+ flexDirection: 'row',
228
+ alignItems: 'center',
229
+ gap: 6,
230
+ paddingVertical: 5,
231
+ paddingHorizontal: 2
232
+ },
233
+ children: [/*#__PURE__*/_jsx(Search, {
234
+ size: 12,
235
+ color: theme.colors.primary
236
+ }), /*#__PURE__*/_jsx(Text, {
237
+ style: {
238
+ fontSize: 12,
239
+ fontWeight: '500',
240
+ color: theme.colors.primary,
241
+ flex: 1
242
+ },
243
+ numberOfLines: 1,
244
+ children: headerText
245
+ }), /*#__PURE__*/_jsx(ChevronDown, {
246
+ size: 10,
247
+ color: theme.colors.mutedForeground,
248
+ style: {
249
+ transform: [{
250
+ rotate: expanded ? '180deg' : '0deg'
251
+ }]
252
+ }
253
+ })]
254
+ }), expanded ? /*#__PURE__*/_jsxs(View, {
255
+ style: {
256
+ marginTop: 6,
257
+ borderRadius: 10,
258
+ borderWidth: 1,
259
+ borderColor: theme.colors.border,
260
+ backgroundColor: theme.colors.card,
261
+ overflow: 'hidden'
262
+ },
263
+ children: [parsed.action?.url ? /*#__PURE__*/_jsx(TouchableOpacity, {
264
+ onPress: () => openLink(parsed.action?.url ?? ''),
265
+ style: {
266
+ padding: 12
267
+ },
268
+ children: /*#__PURE__*/_jsx(Text, {
269
+ style: {
270
+ fontSize: 12,
271
+ color: theme.colors.primary
272
+ },
273
+ numberOfLines: 1,
274
+ children: parsed.action.url
275
+ })
276
+ }) : null, parsed.action?.query && !parsed.action?.url ? /*#__PURE__*/_jsx(View, {
277
+ style: {
278
+ paddingHorizontal: 12,
279
+ paddingVertical: 8
280
+ },
281
+ children: /*#__PURE__*/_jsx(Text, {
282
+ style: {
283
+ fontSize: 12,
284
+ color: theme.colors.mutedForeground
285
+ },
286
+ children: parsed.action.query
287
+ })
288
+ }) : null, webSearchResults.length > 0 ? webSearchResults.map((item, i) => /*#__PURE__*/_jsxs(TouchableOpacity, {
289
+ onPress: () => openLink(item.url),
290
+ style: {
291
+ paddingHorizontal: 12,
292
+ paddingVertical: 10,
293
+ borderTopWidth: i > 0 ? 1 : 0,
294
+ borderTopColor: theme.colors.border
295
+ },
296
+ children: [/*#__PURE__*/_jsx(Text, {
297
+ style: {
298
+ fontSize: 12,
299
+ fontWeight: '500',
300
+ color: theme.colors.foreground
301
+ },
302
+ numberOfLines: 1,
303
+ children: item.title
304
+ }), /*#__PURE__*/_jsxs(View, {
305
+ style: {
306
+ flexDirection: 'row',
307
+ alignItems: 'center',
308
+ gap: 4,
309
+ marginTop: 2
310
+ },
311
+ children: [/*#__PURE__*/_jsx(Globe, {
312
+ size: 10,
313
+ color: theme.colors.mutedForeground
314
+ }), /*#__PURE__*/_jsx(Text, {
315
+ style: {
316
+ fontSize: 10,
317
+ color: theme.colors.mutedForeground
318
+ },
319
+ numberOfLines: 1,
320
+ children: getDomain(item.url)
321
+ }), item.pageAge ? /*#__PURE__*/_jsxs(Text, {
322
+ style: {
323
+ fontSize: 10,
324
+ color: theme.colors.mutedForeground
325
+ },
326
+ children: [' \u00B7 ', item.pageAge]
327
+ }) : null]
328
+ })]
329
+ }, `ws-${i}`)) : null, newsResults.length > 0 ? newsResults.map((item, i) => /*#__PURE__*/_jsxs(TouchableOpacity, {
330
+ onPress: () => openLink(item.url),
331
+ style: {
332
+ flexDirection: 'row',
333
+ gap: 10,
334
+ paddingHorizontal: 12,
335
+ paddingVertical: 10,
336
+ borderTopWidth: i > 0 ? 1 : 0,
337
+ borderTopColor: theme.colors.border
338
+ },
339
+ children: [item.imageUrl ? /*#__PURE__*/_jsx(Image, {
340
+ source: {
341
+ uri: item.imageUrl
342
+ },
343
+ style: {
344
+ width: 56,
345
+ height: 56,
346
+ borderRadius: 6,
347
+ flexShrink: 0
348
+ },
349
+ contentFit: "cover"
350
+ }) : null, /*#__PURE__*/_jsxs(View, {
351
+ style: {
352
+ flex: 1
353
+ },
354
+ children: [/*#__PURE__*/_jsx(Text, {
355
+ style: {
356
+ fontSize: 12,
357
+ fontWeight: '500',
358
+ color: theme.colors.foreground
359
+ },
360
+ numberOfLines: 1,
361
+ children: item.title
362
+ }), item.snippet ? /*#__PURE__*/_jsx(Text, {
363
+ style: {
364
+ fontSize: 11,
365
+ color: theme.colors.mutedForeground,
366
+ marginTop: 2
367
+ },
368
+ numberOfLines: 1,
369
+ children: cleanSnippet(item.snippet, 100)
370
+ }) : null, /*#__PURE__*/_jsxs(View, {
371
+ style: {
372
+ flexDirection: 'row',
373
+ alignItems: 'center',
374
+ gap: 4,
375
+ marginTop: 2
376
+ },
377
+ children: [/*#__PURE__*/_jsx(Text, {
378
+ style: {
379
+ fontSize: 10,
380
+ color: theme.colors.mutedForeground
381
+ },
382
+ numberOfLines: 1,
383
+ children: getDomain(item.url)
384
+ }), item.date ? /*#__PURE__*/_jsxs(Text, {
385
+ style: {
386
+ fontSize: 10,
387
+ color: theme.colors.mutedForeground
388
+ },
389
+ children: [' \u00B7 ', item.date]
390
+ }) : null]
391
+ })]
392
+ })]
393
+ }, `news-${i}`)) : null, searchResults.length > 0 && webSearchResults.length === 0 && newsResults.length === 0 && !parsed.action ? searchResults.map((item, i) => /*#__PURE__*/_jsxs(TouchableOpacity, {
394
+ onPress: () => openLink(item.link),
395
+ style: {
396
+ paddingHorizontal: 12,
397
+ paddingVertical: 10,
398
+ borderTopWidth: i > 0 ? 1 : 0,
399
+ borderTopColor: theme.colors.border
400
+ },
401
+ children: [/*#__PURE__*/_jsxs(View, {
402
+ style: {
403
+ flexDirection: 'row',
404
+ alignItems: 'center',
405
+ gap: 5
406
+ },
407
+ children: [item.favicon ? /*#__PURE__*/_jsx(Image, {
408
+ source: {
409
+ uri: item.favicon
410
+ },
411
+ style: {
412
+ width: 14,
413
+ height: 14,
414
+ borderRadius: 3
415
+ },
416
+ contentFit: "contain"
417
+ }) : null, /*#__PURE__*/_jsx(Text, {
418
+ style: {
419
+ fontSize: 12,
420
+ fontWeight: '500',
421
+ color: theme.colors.foreground,
422
+ flex: 1
423
+ },
424
+ numberOfLines: 1,
425
+ children: item.title
426
+ })]
427
+ }), item.summary || item.text || item.snippet ? /*#__PURE__*/_jsx(Text, {
428
+ style: {
429
+ fontSize: 11,
430
+ color: theme.colors.mutedForeground,
431
+ marginTop: 3,
432
+ lineHeight: 15
433
+ },
434
+ numberOfLines: 2,
435
+ children: item.summary || cleanSnippet(item.text || item.snippet || '', 150)
436
+ }) : null, /*#__PURE__*/_jsxs(View, {
437
+ style: {
438
+ flexDirection: 'row',
439
+ alignItems: 'center',
440
+ gap: 4,
441
+ marginTop: 3
442
+ },
443
+ children: [/*#__PURE__*/_jsx(Globe, {
444
+ size: 10,
445
+ color: theme.colors.mutedForeground
446
+ }), /*#__PURE__*/_jsx(Text, {
447
+ style: {
448
+ fontSize: 10,
449
+ color: theme.colors.mutedForeground
450
+ },
451
+ numberOfLines: 1,
452
+ children: getDomain(item.link)
453
+ }), item.publishedDate ? /*#__PURE__*/_jsxs(Text, {
454
+ style: {
455
+ fontSize: 10,
456
+ color: theme.colors.mutedForeground
457
+ },
458
+ children: [' \u00B7 ', formatDate(item.publishedDate)]
459
+ }) : null]
460
+ })]
461
+ }, `sr-${i}`)) : null]
462
+ }) : null]
463
+ });
464
+ }
465
+ SearchWebTool.displayName = 'SearchWebTool';
466
+ //# sourceMappingURL=search-web-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useMemo","useCallback","View","Text","TouchableOpacity","Linking","Image","ChevronDown","Search","Globe","XCircle","useDocyrusRNAssistantTheme","jsx","_jsx","jsxs","_jsxs","getDomain","url","URL","hostname","replace","cleanSnippet","snippet","maxLength","trim","substring","formatDate","dateString","date","Date","now","diff","getTime","hours","Math","floor","minutes","toLocaleDateString","month","day","year","getFullYear","undefined","parseOutput","output","parsed","result","JSON","parse","Array","isArray","results","nested","searchType","context","SearchWebTool","state","errorText","title","theme","expanded","setExpanded","webSearchResults","out","filter","item","type","newsResults","news","searchResults","action","length","p","hasResults","query","headerText","openLink","openURL","catch","style","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","children","size","color","colors","mutedForeground","fontSize","fontWeight","destructive","marginVertical","onPress","activeOpacity","primary","flex","numberOfLines","transform","rotate","marginTop","borderRadius","borderWidth","borderColor","border","backgroundColor","card","overflow","padding","map","i","borderTopWidth","borderTopColor","foreground","pageAge","imageUrl","source","uri","width","height","flexShrink","contentFit","link","favicon","summary","text","lineHeight","publishedDate","displayName"],"sourceRoot":"../../../../../src","sources":["components/message-parts/tools/search-web-tool.tsx"],"mappings":"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","ignoreList":[]}