@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.
- package/dist/commonjs/components/message-parts/message-parts.js +68 -202
- package/dist/commonjs/components/message-parts/message-parts.js.map +1 -1
- package/dist/commonjs/components/message-parts/tools/generate-chart-tool.js +240 -0
- package/dist/commonjs/components/message-parts/tools/generate-chart-tool.js.map +1 -0
- package/dist/commonjs/components/message-parts/tools/index.js +41 -0
- package/dist/commonjs/components/message-parts/tools/index.js.map +1 -0
- package/dist/commonjs/components/message-parts/tools/mermaid-diagram-tool.js +223 -0
- package/dist/commonjs/components/message-parts/tools/mermaid-diagram-tool.js.map +1 -0
- package/dist/commonjs/components/message-parts/tools/request-approval-tool.js +124 -0
- package/dist/commonjs/components/message-parts/tools/request-approval-tool.js.map +1 -0
- package/dist/commonjs/components/message-parts/tools/search-web-tool.js +470 -0
- package/dist/commonjs/components/message-parts/tools/search-web-tool.js.map +1 -0
- package/dist/commonjs/components/message-parts/tools/show-image-tool.js +85 -0
- package/dist/commonjs/components/message-parts/tools/show-image-tool.js.map +1 -0
- package/dist/commonjs/components/sessions-list/sessions-list.js +1 -4
- package/dist/commonjs/components/sessions-list/sessions-list.js.map +1 -1
- package/dist/commonjs/hooks/use-assistant.js +22 -16
- package/dist/commonjs/hooks/use-assistant.js.map +1 -1
- package/dist/commonjs/utils/default-api-config.js +1 -0
- package/dist/commonjs/utils/default-api-config.js.map +1 -1
- package/dist/module/components/message-parts/message-parts.js +68 -202
- package/dist/module/components/message-parts/message-parts.js.map +1 -1
- package/dist/module/components/message-parts/tools/generate-chart-tool.js +236 -0
- package/dist/module/components/message-parts/tools/generate-chart-tool.js.map +1 -0
- package/dist/module/components/message-parts/tools/index.js +8 -0
- package/dist/module/components/message-parts/tools/index.js.map +1 -0
- package/dist/module/components/message-parts/tools/mermaid-diagram-tool.js +219 -0
- package/dist/module/components/message-parts/tools/mermaid-diagram-tool.js.map +1 -0
- package/dist/module/components/message-parts/tools/request-approval-tool.js +120 -0
- package/dist/module/components/message-parts/tools/request-approval-tool.js.map +1 -0
- package/dist/module/components/message-parts/tools/search-web-tool.js +466 -0
- package/dist/module/components/message-parts/tools/search-web-tool.js.map +1 -0
- package/dist/module/components/message-parts/tools/show-image-tool.js +81 -0
- package/dist/module/components/message-parts/tools/show-image-tool.js.map +1 -0
- package/dist/module/components/sessions-list/sessions-list.js +1 -4
- package/dist/module/components/sessions-list/sessions-list.js.map +1 -1
- package/dist/module/hooks/use-assistant.js +22 -16
- package/dist/module/hooks/use-assistant.js.map +1 -1
- package/dist/module/utils/default-api-config.js +1 -0
- package/dist/module/utils/default-api-config.js.map +1 -1
- package/dist/typescript/commonjs/src/components/message-parts/message-parts.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/components/message-parts/tools/generate-chart-tool.d.ts +14 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/generate-chart-tool.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/index.d.ts +6 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/mermaid-diagram-tool.d.ts +13 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/mermaid-diagram-tool.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/request-approval-tool.d.ts +11 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/request-approval-tool.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/search-web-tool.d.ts +13 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/search-web-tool.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/show-image-tool.d.ts +15 -0
- package/dist/typescript/commonjs/src/components/message-parts/tools/show-image-tool.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/use-assistant.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/types/index.d.ts +7 -2
- package/dist/typescript/commonjs/src/types/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/utils/default-api-config.d.ts.map +1 -1
- package/dist/typescript/module/src/components/message-parts/message-parts.d.ts.map +1 -1
- package/dist/typescript/module/src/components/message-parts/tools/generate-chart-tool.d.ts +14 -0
- package/dist/typescript/module/src/components/message-parts/tools/generate-chart-tool.d.ts.map +1 -0
- package/dist/typescript/module/src/components/message-parts/tools/index.d.ts +6 -0
- package/dist/typescript/module/src/components/message-parts/tools/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/message-parts/tools/mermaid-diagram-tool.d.ts +13 -0
- package/dist/typescript/module/src/components/message-parts/tools/mermaid-diagram-tool.d.ts.map +1 -0
- package/dist/typescript/module/src/components/message-parts/tools/request-approval-tool.d.ts +11 -0
- package/dist/typescript/module/src/components/message-parts/tools/request-approval-tool.d.ts.map +1 -0
- package/dist/typescript/module/src/components/message-parts/tools/search-web-tool.d.ts +13 -0
- package/dist/typescript/module/src/components/message-parts/tools/search-web-tool.d.ts.map +1 -0
- package/dist/typescript/module/src/components/message-parts/tools/show-image-tool.d.ts +15 -0
- package/dist/typescript/module/src/components/message-parts/tools/show-image-tool.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/use-assistant.d.ts.map +1 -1
- package/dist/typescript/module/src/types/index.d.ts +7 -2
- package/dist/typescript/module/src/types/index.d.ts.map +1 -1
- package/dist/typescript/module/src/utils/default-api-config.d.ts.map +1 -1
- 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":[]}
|