gthinking 1.0.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 (53) hide show
  1. package/README.md +283 -0
  2. package/analysis.ts +986 -0
  3. package/creativity.ts +1002 -0
  4. package/dist/analysis.d.ts +52 -0
  5. package/dist/analysis.d.ts.map +1 -0
  6. package/dist/analysis.js +792 -0
  7. package/dist/analysis.js.map +1 -0
  8. package/dist/creativity.d.ts +80 -0
  9. package/dist/creativity.d.ts.map +1 -0
  10. package/dist/creativity.js +778 -0
  11. package/dist/creativity.js.map +1 -0
  12. package/dist/engine.d.ts +76 -0
  13. package/dist/engine.d.ts.map +1 -0
  14. package/dist/engine.js +675 -0
  15. package/dist/engine.js.map +1 -0
  16. package/dist/examples.d.ts +7 -0
  17. package/dist/examples.d.ts.map +1 -0
  18. package/dist/examples.js +506 -0
  19. package/dist/examples.js.map +1 -0
  20. package/dist/index.d.ts +38 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +126 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/learning.d.ts +72 -0
  25. package/dist/learning.d.ts.map +1 -0
  26. package/dist/learning.js +615 -0
  27. package/dist/learning.js.map +1 -0
  28. package/dist/planning.d.ts +58 -0
  29. package/dist/planning.d.ts.map +1 -0
  30. package/dist/planning.js +824 -0
  31. package/dist/planning.js.map +1 -0
  32. package/dist/reasoning.d.ts +72 -0
  33. package/dist/reasoning.d.ts.map +1 -0
  34. package/dist/reasoning.js +792 -0
  35. package/dist/reasoning.js.map +1 -0
  36. package/dist/search-discovery.d.ts +73 -0
  37. package/dist/search-discovery.d.ts.map +1 -0
  38. package/dist/search-discovery.js +505 -0
  39. package/dist/search-discovery.js.map +1 -0
  40. package/dist/types.d.ts +535 -0
  41. package/dist/types.d.ts.map +1 -0
  42. package/dist/types.js +77 -0
  43. package/dist/types.js.map +1 -0
  44. package/engine.ts +928 -0
  45. package/examples.ts +717 -0
  46. package/index.ts +106 -0
  47. package/learning.ts +779 -0
  48. package/package.json +51 -0
  49. package/planning.ts +1028 -0
  50. package/reasoning.ts +1019 -0
  51. package/search-discovery.ts +654 -0
  52. package/tsconfig.json +25 -0
  53. package/types.ts +674 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning.js","sourceRoot":"","sources":["../reasoning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Search & Discovery Module
3
+ * Real-time web search with multi-source aggregation and intelligent filtering
4
+ */
5
+ import { SearchResult, SearchSession, SearchFilters, AggregatedResult, SourceType } from './types';
6
+ import { EventEmitter } from 'events';
7
+ interface SearchProvider {
8
+ name: string;
9
+ search(query: string, filters: SearchFilters, maxResults: number): Promise<SearchResult[]>;
10
+ getCredibilityScore(url: string): number;
11
+ }
12
+ export declare class SearchDiscoveryEngine extends EventEmitter {
13
+ private providers;
14
+ private sessions;
15
+ private knowledgeBase;
16
+ private cache;
17
+ constructor();
18
+ private registerDefaultProviders;
19
+ /**
20
+ * Execute a search query across multiple sources
21
+ */
22
+ search(query: string, options?: {
23
+ sources?: SourceType[];
24
+ filters?: SearchFilters;
25
+ maxResults?: number;
26
+ timeout?: number;
27
+ }): Promise<SearchResult[]>;
28
+ /**
29
+ * Multi-query search for comprehensive coverage
30
+ */
31
+ multiSearch(queries: string[], options?: {
32
+ sources?: SourceType[];
33
+ filters?: SearchFilters;
34
+ maxResultsPerQuery?: number;
35
+ aggregate?: boolean;
36
+ }): Promise<SearchResult[] | AggregatedResult[]>;
37
+ /**
38
+ * Aggregate results by topic and identify consensus/conflicts
39
+ */
40
+ aggregateResults(results: SearchResult[]): AggregatedResult[];
41
+ /**
42
+ * Rank results based on multiple factors
43
+ */
44
+ private rankResults;
45
+ private calculateCompositeScore;
46
+ /**
47
+ * Search with a specific provider
48
+ */
49
+ private searchWithProvider;
50
+ /**
51
+ * Add custom search provider
52
+ */
53
+ registerProvider(source: SourceType, provider: SearchProvider): void;
54
+ /**
55
+ * Add knowledge to knowledge base
56
+ */
57
+ addKnowledge(key: string, value: unknown): void;
58
+ /**
59
+ * Get search session by ID
60
+ */
61
+ getSession(sessionId: string): SearchSession | undefined;
62
+ /**
63
+ * Clear all sessions
64
+ */
65
+ clearSessions(): void;
66
+ private generateId;
67
+ private extractMainTopic;
68
+ private detectConflicts;
69
+ private extractKeyInsights;
70
+ }
71
+ export declare const searchEngine: SearchDiscoveryEngine;
72
+ export {};
73
+ //# sourceMappingURL=search-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-discovery.d.ts","sourceRoot":"","sources":["../search-discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,UAAU,EAMX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3F,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1C;AAmOD,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,KAAK,CAAgB;;IAS7B,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GACL,OAAO,CAAC,YAAY,EAAE,CAAC;IAsG1B;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;KAChB,GACL,OAAO,CAAC,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;IA+C/C;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE;IAuC7D;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,uBAAuB;IA2B/B;;OAEG;YACW,kBAAkB;IAahC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIpE;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/C;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIxD;;OAEG;IACH,aAAa,IAAI,IAAI;IAKrB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,kBAAkB;CAe3B;AAMD,eAAO,MAAM,YAAY,uBAA8B,CAAC"}
@@ -0,0 +1,505 @@
1
+ "use strict";
2
+ /**
3
+ * Search & Discovery Module
4
+ * Real-time web search with multi-source aggregation and intelligent filtering
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.searchEngine = exports.SearchDiscoveryEngine = void 0;
8
+ const types_1 = require("./types");
9
+ const events_1 = require("events");
10
+ // ============================================================================
11
+ // WEB SEARCH PROVIDER IMPLEMENTATION
12
+ // ============================================================================
13
+ class WebSearchProvider {
14
+ constructor() {
15
+ this.name = 'web_search';
16
+ }
17
+ async search(query, filters, maxResults) {
18
+ // In real implementation, this would call actual search APIs
19
+ // For demonstration, we simulate search results
20
+ const simulatedResults = [];
21
+ // Generate diverse simulated results based on query
22
+ const topics = this.extractTopics(query);
23
+ for (let i = 0; i < maxResults; i++) {
24
+ const topic = topics[i % topics.length];
25
+ const result = {
26
+ id: `web_${Date.now()}_${i}`,
27
+ title: this.generateTitle(topic, i),
28
+ url: `https://example.com/article/${topic.replace(/\s+/g, '-')}-${i}`,
29
+ snippet: this.generateSnippet(topic, query),
30
+ source: types_1.SourceType.WEB,
31
+ credibility: this.calculateCredibility(i),
32
+ relevance: this.calculateRelevance(query, topic, i),
33
+ timestamp: new Date(),
34
+ metadata: this.generateMetadata(topic)
35
+ };
36
+ simulatedResults.push(result);
37
+ }
38
+ return this.applyFilters(simulatedResults, filters);
39
+ }
40
+ getCredibilityScore(url) {
41
+ const credibleDomains = [
42
+ 'edu', 'gov', 'ac.uk', 'ac.jp', 'arxiv.org',
43
+ 'nature.com', 'science.org', 'ieee.org', 'acm.org'
44
+ ];
45
+ const lowCredibilityDomains = [
46
+ 'blogspot', 'wordpress', 'medium', 'wix', 'weebly'
47
+ ];
48
+ if (credibleDomains.some(d => url.includes(d)))
49
+ return 0.9;
50
+ if (lowCredibilityDomains.some(d => url.includes(d)))
51
+ return 0.4;
52
+ return 0.6;
53
+ }
54
+ extractTopics(query) {
55
+ // Simple topic extraction - in real implementation, use NLP
56
+ const commonWords = ['what', 'how', 'why', 'when', 'where', 'who', 'is', 'are', 'the', 'a', 'an'];
57
+ return query
58
+ .toLowerCase()
59
+ .split(/\s+/)
60
+ .filter(word => !commonWords.includes(word) && word.length > 3);
61
+ }
62
+ generateTitle(topic, index) {
63
+ const templates = [
64
+ `Complete Guide to ${topic}`,
65
+ `${topic}: Everything You Need to Know`,
66
+ `Understanding ${topic} in Depth`,
67
+ `The Future of ${topic}`,
68
+ `${topic} Best Practices and Strategies`,
69
+ `Advanced ${topic} Techniques`,
70
+ `${topic} Case Studies and Examples`,
71
+ `Breaking Down ${topic}: A Comprehensive Analysis`
72
+ ];
73
+ return templates[index % templates.length];
74
+ }
75
+ generateSnippet(topic, query) {
76
+ return `This comprehensive resource about ${topic} provides detailed insights related to "${query}". ` +
77
+ `It covers key concepts, practical applications, and expert perspectives on the subject matter.`;
78
+ }
79
+ calculateCredibility(index) {
80
+ // Higher ranked results typically have higher credibility
81
+ return Math.max(0.3, 0.95 - (index * 0.05));
82
+ }
83
+ calculateRelevance(query, topic, index) {
84
+ const queryWords = query.toLowerCase().split(/\s+/);
85
+ const topicWords = topic.toLowerCase().split(/\s+/);
86
+ const matchCount = topicWords.filter(w => queryWords.includes(w)).length;
87
+ const baseRelevance = matchCount / Math.max(queryWords.length, topicWords.length);
88
+ return Math.min(0.95, baseRelevance + (0.9 - index * 0.1));
89
+ }
90
+ generateMetadata(topic) {
91
+ return {
92
+ author: `Expert on ${topic}`,
93
+ publishDate: new Date(Date.now() - Math.random() * 365 * 24 * 60 * 60 * 1000),
94
+ wordCount: Math.floor(1000 + Math.random() * 4000),
95
+ readingTime: Math.floor(5 + Math.random() * 20),
96
+ relatedTopics: [topic, 'related-concept-1', 'related-concept-2'],
97
+ citations: Math.floor(Math.random() * 50)
98
+ };
99
+ }
100
+ applyFilters(results, filters) {
101
+ return results.filter(result => {
102
+ if (filters.minCredibility && result.credibility < filters.minCredibility) {
103
+ return false;
104
+ }
105
+ if (filters.domains && filters.domains.length > 0) {
106
+ const domainMatch = filters.domains.some(d => result.url.includes(d));
107
+ if (!domainMatch)
108
+ return false;
109
+ }
110
+ if (filters.excludeDomains) {
111
+ const excluded = filters.excludeDomains.some(d => result.url.includes(d));
112
+ if (excluded)
113
+ return false;
114
+ }
115
+ return true;
116
+ });
117
+ }
118
+ }
119
+ // ============================================================================
120
+ // KNOWLEDGE BASE SEARCH PROVIDER
121
+ // ============================================================================
122
+ class KnowledgeBaseProvider {
123
+ constructor() {
124
+ this.name = 'knowledge_base';
125
+ this.knowledgeStore = new Map();
126
+ }
127
+ async search(query, filters, maxResults) {
128
+ const results = [];
129
+ const queryLower = query.toLowerCase();
130
+ // Search through stored knowledge
131
+ for (const [key, value] of this.knowledgeStore.entries()) {
132
+ if (key.toLowerCase().includes(queryLower)) {
133
+ results.push({
134
+ id: `kb_${key}`,
135
+ title: key,
136
+ url: `knowledge://${key}`,
137
+ snippet: JSON.stringify(value).substring(0, 200),
138
+ source: types_1.SourceType.KNOWLEDGE_BASE,
139
+ credibility: 0.95,
140
+ relevance: 0.9,
141
+ timestamp: new Date(),
142
+ metadata: { wordCount: JSON.stringify(value).length }
143
+ });
144
+ }
145
+ if (results.length >= maxResults)
146
+ break;
147
+ }
148
+ return results;
149
+ }
150
+ getCredibilityScore() {
151
+ return 0.95; // Knowledge base has high credibility
152
+ }
153
+ addKnowledge(key, value) {
154
+ this.knowledgeStore.set(key, value);
155
+ }
156
+ getKnowledge(key) {
157
+ return this.knowledgeStore.get(key);
158
+ }
159
+ }
160
+ // ============================================================================
161
+ // CACHE SEARCH PROVIDER
162
+ // ============================================================================
163
+ class CacheProvider {
164
+ constructor() {
165
+ this.name = 'cache';
166
+ this.cache = new Map();
167
+ this.defaultTTL = 3600000; // 1 hour
168
+ }
169
+ async search(query, _filters, maxResults) {
170
+ const results = [];
171
+ const now = Date.now();
172
+ for (const [key, cached] of this.cache.entries()) {
173
+ if (key.includes(query) && now - cached.timestamp < cached.ttl) {
174
+ results.push(cached.result);
175
+ }
176
+ if (results.length >= maxResults)
177
+ break;
178
+ }
179
+ return results;
180
+ }
181
+ getCredibilityScore() {
182
+ return 0.8;
183
+ }
184
+ cacheResult(query, result, ttl) {
185
+ this.cache.set(query, {
186
+ result,
187
+ timestamp: Date.now(),
188
+ ttl: ttl || this.defaultTTL
189
+ });
190
+ }
191
+ invalidate(query) {
192
+ this.cache.delete(query);
193
+ }
194
+ clear() {
195
+ this.cache.clear();
196
+ }
197
+ }
198
+ // ============================================================================
199
+ // MAIN SEARCH & DISCOVERY ENGINE
200
+ // ============================================================================
201
+ class SearchDiscoveryEngine extends events_1.EventEmitter {
202
+ constructor() {
203
+ super();
204
+ this.providers = new Map();
205
+ this.sessions = new Map();
206
+ this.knowledgeBase = new KnowledgeBaseProvider();
207
+ this.cache = new CacheProvider();
208
+ this.registerDefaultProviders();
209
+ }
210
+ registerDefaultProviders() {
211
+ this.providers.set(types_1.SourceType.WEB, new WebSearchProvider());
212
+ this.providers.set(types_1.SourceType.KNOWLEDGE_BASE, this.knowledgeBase);
213
+ this.providers.set(types_1.SourceType.CACHE, this.cache);
214
+ }
215
+ /**
216
+ * Execute a search query across multiple sources
217
+ */
218
+ async search(query, options = {}) {
219
+ const { sources = [types_1.SourceType.WEB, types_1.SourceType.KNOWLEDGE_BASE, types_1.SourceType.CACHE], filters = {}, maxResults = 10, timeout = 30000 } = options;
220
+ const searchId = this.generateId();
221
+ const startTime = Date.now();
222
+ this.emit('search_start', {
223
+ id: searchId,
224
+ type: 'stage_start',
225
+ stage: types_1.ThinkingStage.SEARCH,
226
+ timestamp: new Date(),
227
+ data: { query, sources },
228
+ sessionId: searchId
229
+ });
230
+ try {
231
+ // Check cache first
232
+ const cachedResults = await this.searchWithProvider(types_1.SourceType.CACHE, query, filters, maxResults);
233
+ if (cachedResults.length > 0) {
234
+ this.emit('search_complete', {
235
+ id: searchId,
236
+ type: 'search_result',
237
+ stage: types_1.ThinkingStage.SEARCH,
238
+ timestamp: new Date(),
239
+ data: { results: cachedResults, fromCache: true },
240
+ sessionId: searchId
241
+ });
242
+ return cachedResults;
243
+ }
244
+ // Execute searches across all specified sources in parallel
245
+ const searchPromises = sources
246
+ .filter(s => s !== types_1.SourceType.CACHE) // Already checked cache
247
+ .map(source => this.searchWithProvider(source, query, filters, maxResults));
248
+ const resultsArrays = await Promise.allSettled(searchPromises);
249
+ let allResults = [];
250
+ resultsArrays.forEach((result, index) => {
251
+ if (result.status === 'fulfilled') {
252
+ allResults = allResults.concat(result.value);
253
+ }
254
+ else {
255
+ console.warn(`Search from ${sources[index]} failed:`, result.reason);
256
+ }
257
+ });
258
+ // Rank and filter results
259
+ const rankedResults = this.rankResults(allResults, query).slice(0, maxResults);
260
+ // Cache top results
261
+ rankedResults.forEach(result => {
262
+ this.cache.cacheResult(query, result);
263
+ });
264
+ const processingTime = Date.now() - startTime;
265
+ this.emit('search_complete', {
266
+ id: searchId,
267
+ type: 'search_result',
268
+ stage: types_1.ThinkingStage.SEARCH,
269
+ timestamp: new Date(),
270
+ data: {
271
+ results: rankedResults,
272
+ fromCache: false,
273
+ processingTime,
274
+ sourcesQueried: sources.length
275
+ },
276
+ sessionId: searchId
277
+ });
278
+ return rankedResults;
279
+ }
280
+ catch (error) {
281
+ this.emit('search_error', {
282
+ id: searchId,
283
+ type: 'stage_error',
284
+ stage: types_1.ThinkingStage.SEARCH,
285
+ timestamp: new Date(),
286
+ data: { error },
287
+ sessionId: searchId
288
+ });
289
+ throw new types_1.ThinkingError(`Search failed: ${error instanceof Error ? error.message : 'Unknown error'}`, types_1.ThinkingStage.SEARCH, true, error instanceof Error ? error : undefined);
290
+ }
291
+ }
292
+ /**
293
+ * Multi-query search for comprehensive coverage
294
+ */
295
+ async multiSearch(queries, options = {}) {
296
+ const { aggregate = true, maxResultsPerQuery = 5 } = options;
297
+ const sessionId = this.generateId();
298
+ const session = {
299
+ id: sessionId,
300
+ queries: [],
301
+ results: [],
302
+ aggregatedResults: [],
303
+ startTime: new Date()
304
+ };
305
+ this.sessions.set(sessionId, session);
306
+ // Execute all queries
307
+ const searchPromises = queries.map(async (query) => {
308
+ const results = await this.search(query, {
309
+ ...options,
310
+ maxResults: maxResultsPerQuery
311
+ });
312
+ return { query, results };
313
+ });
314
+ const searchResults = await Promise.all(searchPromises);
315
+ // Collect all results
316
+ searchResults.forEach(({ query, results }) => {
317
+ session.queries.push({
318
+ id: this.generateId(),
319
+ query,
320
+ sources: options.sources || [types_1.SourceType.WEB],
321
+ filters: options.filters || {},
322
+ maxResults: maxResultsPerQuery,
323
+ timeout: 30000,
324
+ timestamp: new Date()
325
+ });
326
+ session.results.push(...results);
327
+ });
328
+ if (aggregate) {
329
+ session.aggregatedResults = this.aggregateResults(session.results);
330
+ return session.aggregatedResults;
331
+ }
332
+ return session.results;
333
+ }
334
+ /**
335
+ * Aggregate results by topic and identify consensus/conflicts
336
+ */
337
+ aggregateResults(results) {
338
+ const topicMap = new Map();
339
+ // Group by topic (simplified - in real implementation use NLP clustering)
340
+ results.forEach(result => {
341
+ const topic = this.extractMainTopic(result.title);
342
+ if (!topicMap.has(topic)) {
343
+ topicMap.set(topic, []);
344
+ }
345
+ topicMap.get(topic).push(result);
346
+ });
347
+ const aggregated = [];
348
+ topicMap.forEach((topicResults, topic) => {
349
+ // Calculate consensus score
350
+ const avgCredibility = topicResults.reduce((sum, r) => sum + r.credibility, 0) / topicResults.length;
351
+ const avgRelevance = topicResults.reduce((sum, r) => sum + r.relevance, 0) / topicResults.length;
352
+ const consensusScore = (avgCredibility + avgRelevance) / 2;
353
+ // Check for conflicting information
354
+ const conflictingInfo = this.detectConflicts(topicResults);
355
+ // Extract key insights
356
+ const keyInsights = this.extractKeyInsights(topicResults);
357
+ aggregated.push({
358
+ topic,
359
+ results: topicResults,
360
+ consensusScore,
361
+ conflictingInfo,
362
+ keyInsights
363
+ });
364
+ });
365
+ // Sort by consensus score
366
+ return aggregated.sort((a, b) => b.consensusScore - a.consensusScore);
367
+ }
368
+ /**
369
+ * Rank results based on multiple factors
370
+ */
371
+ rankResults(results, query) {
372
+ return results
373
+ .map(result => ({
374
+ ...result,
375
+ // Calculate composite score
376
+ compositeScore: this.calculateCompositeScore(result, query)
377
+ }))
378
+ .sort((a, b) => b.compositeScore - a.compositeScore);
379
+ }
380
+ calculateCompositeScore(result, query) {
381
+ const relevanceWeight = 0.4;
382
+ const credibilityWeight = 0.3;
383
+ const freshnessWeight = 0.15;
384
+ const engagementWeight = 0.15;
385
+ // Relevance score
386
+ const relevanceScore = result.relevance;
387
+ // Credibility score
388
+ const credibilityScore = result.credibility;
389
+ // Freshness score (newer is better)
390
+ const ageInDays = (Date.now() - result.timestamp.getTime()) / (1000 * 60 * 60 * 24);
391
+ const freshnessScore = Math.max(0, 1 - ageInDays / 365);
392
+ // Engagement score (based on citations, reading time)
393
+ const engagementScore = Math.min(1, (result.metadata.citations || 0) / 100);
394
+ return (relevanceScore * relevanceWeight +
395
+ credibilityScore * credibilityWeight +
396
+ freshnessScore * freshnessWeight +
397
+ engagementScore * engagementWeight);
398
+ }
399
+ /**
400
+ * Search with a specific provider
401
+ */
402
+ async searchWithProvider(source, query, filters, maxResults) {
403
+ const provider = this.providers.get(source);
404
+ if (!provider) {
405
+ throw new Error(`No provider registered for source: ${source}`);
406
+ }
407
+ return provider.search(query, filters, maxResults);
408
+ }
409
+ /**
410
+ * Add custom search provider
411
+ */
412
+ registerProvider(source, provider) {
413
+ this.providers.set(source, provider);
414
+ }
415
+ /**
416
+ * Add knowledge to knowledge base
417
+ */
418
+ addKnowledge(key, value) {
419
+ this.knowledgeBase.addKnowledge(key, value);
420
+ }
421
+ /**
422
+ * Get search session by ID
423
+ */
424
+ getSession(sessionId) {
425
+ return this.sessions.get(sessionId);
426
+ }
427
+ /**
428
+ * Clear all sessions
429
+ */
430
+ clearSessions() {
431
+ this.sessions.clear();
432
+ }
433
+ // Helper methods
434
+ generateId() {
435
+ return `search_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
436
+ }
437
+ extractMainTopic(title) {
438
+ // Simplified topic extraction
439
+ const words = title.toLowerCase().split(/\s+/);
440
+ const significantWords = words.filter(w => w.length > 4);
441
+ return significantWords.slice(0, 3).join(' ') || 'general';
442
+ }
443
+ detectConflicts(results) {
444
+ // Simplified conflict detection
445
+ // In real implementation, use NLP to compare content
446
+ const snippets = results.map(r => r.snippet.toLowerCase());
447
+ const contradictoryTerms = ['not', 'never', 'false', 'incorrect', 'myth'];
448
+ return snippets.some(snippet => contradictoryTerms.some(term => snippet.includes(term)));
449
+ }
450
+ extractKeyInsights(results) {
451
+ // Simplified insight extraction
452
+ const insights = [];
453
+ const seenTopics = new Set();
454
+ results.forEach(result => {
455
+ const topic = this.extractMainTopic(result.title);
456
+ if (!seenTopics.has(topic)) {
457
+ seenTopics.add(topic);
458
+ insights.push(`${topic}: ${result.snippet.substring(0, 100)}...`);
459
+ }
460
+ });
461
+ return insights.slice(0, 5);
462
+ }
463
+ }
464
+ exports.SearchDiscoveryEngine = SearchDiscoveryEngine;
465
+ // ============================================================================
466
+ // EXPORT SINGLETON INSTANCE
467
+ // ============================================================================
468
+ exports.searchEngine = new SearchDiscoveryEngine();
469
+ // ============================================================================
470
+ // EXAMPLE USAGE
471
+ // ============================================================================
472
+ /*
473
+ // Basic search
474
+ const results = await searchEngine.search('artificial intelligence trends 2024', {
475
+ sources: [SourceType.WEB, SourceType.KNOWLEDGE_BASE],
476
+ maxResults: 10,
477
+ filters: {
478
+ minCredibility: 0.7,
479
+ language: 'en'
480
+ }
481
+ });
482
+
483
+ // Multi-query search with aggregation
484
+ const aggregatedResults = await searchEngine.multiSearch([
485
+ 'AI in healthcare',
486
+ 'machine learning medical applications',
487
+ 'healthcare automation technology'
488
+ ], {
489
+ aggregate: true,
490
+ maxResultsPerQuery: 5
491
+ }) as AggregatedResult[];
492
+
493
+ // Add custom knowledge
494
+ searchEngine.addKnowledge('AI Definition', {
495
+ term: 'Artificial Intelligence',
496
+ definition: 'The simulation of human intelligence by machines',
497
+ categories: ['technology', 'computer science']
498
+ });
499
+
500
+ // Listen to events
501
+ searchEngine.on('search_complete', (event) => {
502
+ console.log(`Search completed in ${event.data.processingTime}ms`);
503
+ });
504
+ */
505
+ //# sourceMappingURL=search-discovery.js.map