-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsource-web-search.ts
More file actions
57 lines (45 loc) · 1.81 KB
/
source-web-search.ts
File metadata and controls
57 lines (45 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import { createSDK, handleError } from './utils.js';
import { ResearchMode, SearchSourceType } from '../src/types/source.js';
async function main() {
const sdk = await createSDK();
try {
await sdk.connect(); // Initialize SDK with authentication
const notebookId = process.env.NOTEBOOK_ID || 'your-notebook-id';
console.log('=== Web Search (Simple - Search and Wait) ===\n');
// Simple workflow: Search and wait for results
console.log('1. Searching web (DEEP mode)...');
const result = await sdk.sources.add.web.searchAndWait(notebookId, {
query: 'machine learning research papers 2024',
mode: ResearchMode.DEEP, // DEEP = comprehensive, FAST = quick
sourceType: SearchSourceType.WEB, // WEB or GOOGLE_DRIVE
timeout: 120000, // Wait up to 2 minutes
pollInterval: 2000, // Check every 2 seconds
onProgress: (status) => {
console.log(` Progress: ${status.resultCount || 0} results found...`);
},
});
console.log(`\nFound ${result.web.length} web sources`);
console.log(`Session ID: ${result.sessionId}\n`);
// Display top results
console.log('Top 5 results:');
result.web.slice(0, 5).forEach((source, index) => {
console.log(` ${index + 1}. ${source.title}`);
console.log(` ${source.url}`);
});
// Add selected sources
console.log('\n2. Adding top 3 sources...');
const addedIds = await sdk.sources.add.web.addDiscovered(notebookId, {
sessionId: result.sessionId,
webSources: result.web.slice(0, 3),
});
console.log(`Added ${addedIds.length} sources:`);
addedIds.forEach((id, index) => {
console.log(` ${index + 1}. ${id}`);
});
} catch (error) {
handleError(error, 'Failed to search web');
}
sdk.dispose();
process.exit(0);
}
main().catch(console.error);