@framers/agentos-ext-web-search 1.1.1 → 1.3.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/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/services/searchProvider.d.ts +35 -1
- package/dist/services/searchProvider.d.ts.map +1 -1
- package/dist/services/searchProvider.js +174 -9
- package/dist/services/searchProvider.js.map +1 -1
- package/dist/tools/factCheck.d.ts.map +1 -1
- package/dist/tools/factCheck.js +7 -0
- package/dist/tools/factCheck.js.map +1 -1
- package/dist/tools/researchAggregator.d.ts.map +1 -1
- package/dist/tools/researchAggregator.js +7 -0
- package/dist/tools/researchAggregator.js.map +1 -1
- package/dist/tools/webSearch.d.ts.map +1 -1
- package/dist/tools/webSearch.js +7 -0
- package/dist/tools/webSearch.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/manifest.json +5 -5
- package/package.json +26 -20
- package/.eslintrc.json +0 -21
- package/CHANGELOG.md +0 -16
- package/src/index.ts +0 -141
- package/src/services/searchProvider.ts +0 -622
- package/src/tools/factCheck.ts +0 -300
- package/src/tools/researchAggregator.ts +0 -289
- package/src/tools/webSearch.ts +0 -129
- package/src/types.ts +0 -41
- package/test/integration.spec.ts +0 -374
- package/test/searchProvider.spec.ts +0 -398
- package/test/webSearch.spec.ts +0 -230
- package/tsconfig.json +0 -26
- package/vitest.config.ts +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webSearch.js","sourceRoot":"","sources":["../../src/tools/webSearch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webSearch.js","sourceRoot":"","sources":["../../src/tools/webSearch.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,YAAY,EAAE,CAAC;KACzB,EAAE,CAAC;IACJ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,YAAY,EAAE,CAAC;KACzB,EAAE,CAAC;IACJ,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;GAEG"}
|
package/manifest.json
CHANGED
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
"$schema": "https://agentos.sh/schemas/extension-manifest-v1.json",
|
|
3
3
|
"id": "com.framers.research.web-search",
|
|
4
4
|
"name": "Web Search Extension",
|
|
5
|
-
"version": "1.
|
|
6
|
-
"description": "
|
|
5
|
+
"version": "1.3.0",
|
|
6
|
+
"description": "Multi-provider web search with Firecrawl, Tavily, Serper, Brave — RRF fusion, semantic dedup, Cohere/LLM neural reranking, research aggregation, and fact-checking for AgentOS",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Frame.dev",
|
|
9
9
|
"email": "support@frame.dev",
|
|
10
|
-
"url": "https://github.com/
|
|
10
|
+
"url": "https://github.com/framerslab"
|
|
11
11
|
},
|
|
12
12
|
"license": "MIT",
|
|
13
|
-
"keywords": ["search", "web", "research", "fact-check", "serper", "serpapi", "brave", "searxng"],
|
|
13
|
+
"keywords": ["search", "web", "research", "fact-check", "firecrawl", "tavily", "serper", "serpapi", "brave", "searxng", "cohere", "reranking", "rrf"],
|
|
14
14
|
"agentosVersion": "^2.0.0",
|
|
15
15
|
"categories": ["productivity", "research"],
|
|
16
16
|
"repository": {
|
|
17
17
|
"type": "git",
|
|
18
|
-
"url": "https://github.com/
|
|
18
|
+
"url": "https://github.com/framerslab/agentos-extensions"
|
|
19
19
|
},
|
|
20
20
|
"extensions": [
|
|
21
21
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/agentos-ext-web-search",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Web search, research aggregation, and fact-checking tools for AgentOS",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -14,16 +14,6 @@
|
|
|
14
14
|
"./manifest.json": "./manifest.json",
|
|
15
15
|
"./package.json": "./package.json"
|
|
16
16
|
},
|
|
17
|
-
"scripts": {
|
|
18
|
-
"build": "tsc",
|
|
19
|
-
"test": "vitest run",
|
|
20
|
-
"test:watch": "vitest",
|
|
21
|
-
"test:coverage": "vitest run --coverage",
|
|
22
|
-
"lint": "eslint src --ext .ts",
|
|
23
|
-
"typecheck": "tsc --noEmit",
|
|
24
|
-
"docs": "typedoc --out docs src/index.ts",
|
|
25
|
-
"clean": "rimraf dist"
|
|
26
|
-
},
|
|
27
17
|
"keywords": [
|
|
28
18
|
"agentos",
|
|
29
19
|
"extension",
|
|
@@ -46,28 +36,44 @@
|
|
|
46
36
|
"license": "MIT",
|
|
47
37
|
"repository": {
|
|
48
38
|
"type": "git",
|
|
49
|
-
"url": "https://github.com/
|
|
39
|
+
"url": "git+https://github.com/framerslab/agentos-extensions.git",
|
|
50
40
|
"directory": "registry/curated/research/web-search"
|
|
51
41
|
},
|
|
52
42
|
"publishConfig": {
|
|
53
43
|
"access": "public"
|
|
54
44
|
},
|
|
55
45
|
"peerDependencies": {
|
|
56
|
-
"@framers/agentos": "
|
|
46
|
+
"@framers/agentos": ">=0.10.40"
|
|
57
47
|
},
|
|
58
48
|
"dependencies": {
|
|
59
49
|
"axios": "^1.7.7"
|
|
60
50
|
},
|
|
61
51
|
"devDependencies": {
|
|
62
|
-
"@framers/agentos": "^0.1.29",
|
|
63
52
|
"@types/node": "^20.12.12",
|
|
64
|
-
"@
|
|
65
|
-
"@typescript-eslint/parser": "^7.0.0",
|
|
66
|
-
"@vitest/coverage-v8": "^1.6.0",
|
|
67
|
-
"eslint": "^9.11.0",
|
|
53
|
+
"@vitest/coverage-v8": "^3.2.7",
|
|
68
54
|
"rimraf": "^5.0.7",
|
|
69
55
|
"typedoc": "^0.25.13",
|
|
70
56
|
"typescript": "^5.4.5",
|
|
71
|
-
"vitest": "^
|
|
57
|
+
"vitest": "^3.2.7",
|
|
58
|
+
"@framers/agentos": "^0.10.40"
|
|
59
|
+
},
|
|
60
|
+
"homepage": "https://github.com/framerslab/agentos-extensions/tree/master/registry/curated/research/web-search#readme",
|
|
61
|
+
"bugs": {
|
|
62
|
+
"url": "https://github.com/framerslab/agentos-extensions/issues"
|
|
63
|
+
},
|
|
64
|
+
"files": [
|
|
65
|
+
"dist",
|
|
66
|
+
"manifest.json",
|
|
67
|
+
"README.md",
|
|
68
|
+
"LICENSE"
|
|
69
|
+
],
|
|
70
|
+
"scripts": {
|
|
71
|
+
"build": "tsc",
|
|
72
|
+
"test": "vitest run --passWithNoTests",
|
|
73
|
+
"test:watch": "vitest",
|
|
74
|
+
"test:coverage": "vitest run --coverage",
|
|
75
|
+
"typecheck": "tsc --noEmit",
|
|
76
|
+
"docs": "typedoc --out docs src/index.ts",
|
|
77
|
+
"clean": "rimraf dist"
|
|
72
78
|
}
|
|
73
|
-
}
|
|
79
|
+
}
|
package/.eslintrc.json
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"root": true,
|
|
3
|
-
"parser": "@typescript-eslint/parser",
|
|
4
|
-
"plugins": ["@typescript-eslint"],
|
|
5
|
-
"extends": [
|
|
6
|
-
"eslint:recommended",
|
|
7
|
-
"plugin:@typescript-eslint/recommended"
|
|
8
|
-
],
|
|
9
|
-
"parserOptions": {
|
|
10
|
-
"ecmaVersion": 2022,
|
|
11
|
-
"sourceType": "module",
|
|
12
|
-
"project": "./tsconfig.json"
|
|
13
|
-
},
|
|
14
|
-
"rules": {
|
|
15
|
-
"@typescript-eslint/explicit-function-return-type": "off",
|
|
16
|
-
"@typescript-eslint/no-explicit-any": "warn",
|
|
17
|
-
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
|
|
18
|
-
"no-console": ["warn", { "allow": ["warn", "error"] }]
|
|
19
|
-
},
|
|
20
|
-
"ignorePatterns": ["dist", "node_modules", "coverage", "*.js"]
|
|
21
|
-
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# @framers/agentos-ext-web-search
|
|
2
|
-
|
|
3
|
-
## 1.1.0
|
|
4
|
-
|
|
5
|
-
### Minor Changes
|
|
6
|
-
|
|
7
|
-
- [`e6a2eb6`](https://github.com/framersai/agentos-extensions/commit/e6a2eb61145c5715df63668b795fe90720a3c7c1) Thanks [@jddunn](https://github.com/jddunn)! - Initial release of AgentOS extension packages.
|
|
8
|
-
|
|
9
|
-
- Auth: JWT authentication and subscription management
|
|
10
|
-
- Anchor Providers: Solana on-chain provenance anchoring
|
|
11
|
-
- Wunderland Tip Ingestion: Tip content processing pipeline
|
|
12
|
-
- Web Search: Search, research aggregation, and fact-checking
|
|
13
|
-
- Web Browser: Browser automation and content extraction
|
|
14
|
-
- Telegram Integration: Telegram Bot API integration
|
|
15
|
-
- Telegram Bot: Telegram bot communications handler
|
|
16
|
-
- CLI Executor: Shell command execution and file management
|
package/src/index.ts
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AgentOS Web Search Extension
|
|
3
|
-
*
|
|
4
|
-
* Provides web search capabilities through multiple providers with automatic fallback.
|
|
5
|
-
*
|
|
6
|
-
* @module @framers/agentos-ext-web-search
|
|
7
|
-
* @version 1.1.0
|
|
8
|
-
* @license MIT
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import type { ExtensionPackContext, ExtensionPack, ExtensionLifecycleContext } from '@framers/agentos';
|
|
12
|
-
import { WebSearchTool } from './tools/webSearch.js';
|
|
13
|
-
import { ResearchAggregatorTool } from './tools/researchAggregator.js';
|
|
14
|
-
import { FactCheckTool } from './tools/factCheck.js';
|
|
15
|
-
import { SearchProviderService } from './services/searchProvider.js';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Extension configuration options
|
|
19
|
-
*/
|
|
20
|
-
export interface WebSearchExtensionOptions {
|
|
21
|
-
/** Serper.dev API key */
|
|
22
|
-
serperApiKey?: string;
|
|
23
|
-
/** SerpAPI API key */
|
|
24
|
-
serpApiKey?: string;
|
|
25
|
-
/** Brave Search API key */
|
|
26
|
-
braveApiKey?: string;
|
|
27
|
-
/** SearXNG instance URL (e.g. http://searxng:8080 or http://localhost:8888) */
|
|
28
|
-
searxngUrl?: string;
|
|
29
|
-
/** Default maximum results for searches */
|
|
30
|
-
defaultMaxResults?: number;
|
|
31
|
-
/** Rate limiting configuration */
|
|
32
|
-
rateLimit?: {
|
|
33
|
-
maxRequests: number;
|
|
34
|
-
windowMs: number;
|
|
35
|
-
};
|
|
36
|
-
/** Default multi-provider parallel search for all search tools */
|
|
37
|
-
defaultMultiSearch?: boolean;
|
|
38
|
-
/** Extension priority in the stack */
|
|
39
|
-
priority?: number;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Creates the web search extension pack
|
|
44
|
-
*
|
|
45
|
-
* @param {ExtensionPackContext} context - The extension context
|
|
46
|
-
* @returns {ExtensionPack} The configured extension pack
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```typescript
|
|
50
|
-
* import { createExtensionPack } from '@framers/agentos-ext-web-search';
|
|
51
|
-
*
|
|
52
|
-
* const pack = createExtensionPack({
|
|
53
|
-
* options: {
|
|
54
|
-
* serperApiKey: process.env.SERPER_API_KEY,
|
|
55
|
-
* defaultMaxResults: 10
|
|
56
|
-
* }
|
|
57
|
-
* });
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
export function createExtensionPack(context: ExtensionPackContext): ExtensionPack {
|
|
61
|
-
const options = (context.options ?? {}) as WebSearchExtensionOptions;
|
|
62
|
-
|
|
63
|
-
const serperApiKey =
|
|
64
|
-
options.serperApiKey || process.env.SERPER_API_KEY;
|
|
65
|
-
const serpApiKey =
|
|
66
|
-
options.serpApiKey || process.env.SERPAPI_API_KEY;
|
|
67
|
-
const braveApiKey =
|
|
68
|
-
options.braveApiKey || process.env.BRAVE_API_KEY;
|
|
69
|
-
const searxngUrl =
|
|
70
|
-
options.searxngUrl || process.env.SEARXNG_URL;
|
|
71
|
-
|
|
72
|
-
// Initialize search service with configuration
|
|
73
|
-
const searchService = new SearchProviderService({
|
|
74
|
-
serperApiKey,
|
|
75
|
-
serpApiKey,
|
|
76
|
-
braveApiKey,
|
|
77
|
-
searxngUrl,
|
|
78
|
-
rateLimit: options.rateLimit
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
const defaultMultiSearch = options.defaultMultiSearch ?? false;
|
|
82
|
-
|
|
83
|
-
// Create tool instances
|
|
84
|
-
const webSearchTool = new WebSearchTool(searchService, defaultMultiSearch);
|
|
85
|
-
const researchAggregator = new ResearchAggregatorTool(searchService, defaultMultiSearch);
|
|
86
|
-
const factCheckTool = new FactCheckTool(searchService, defaultMultiSearch);
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
name: '@framers/agentos-ext-web-search',
|
|
90
|
-
version: '1.1.0',
|
|
91
|
-
descriptors: [
|
|
92
|
-
{
|
|
93
|
-
id: webSearchTool.name,
|
|
94
|
-
kind: 'tool',
|
|
95
|
-
priority: options.priority || 50,
|
|
96
|
-
payload: webSearchTool,
|
|
97
|
-
requiredSecrets: [
|
|
98
|
-
{ id: 'serper.apiKey', optional: true },
|
|
99
|
-
{ id: 'serpapi.apiKey', optional: true },
|
|
100
|
-
{ id: 'brave.apiKey', optional: true },
|
|
101
|
-
],
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
id: researchAggregator.name,
|
|
105
|
-
kind: 'tool',
|
|
106
|
-
priority: options.priority || 50,
|
|
107
|
-
payload: researchAggregator,
|
|
108
|
-
requiredSecrets: [
|
|
109
|
-
{ id: 'serper.apiKey', optional: true },
|
|
110
|
-
{ id: 'serpapi.apiKey', optional: true },
|
|
111
|
-
{ id: 'brave.apiKey', optional: true },
|
|
112
|
-
],
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
id: factCheckTool.name,
|
|
116
|
-
kind: 'tool',
|
|
117
|
-
priority: options.priority || 50,
|
|
118
|
-
payload: factCheckTool,
|
|
119
|
-
requiredSecrets: [
|
|
120
|
-
{ id: 'serper.apiKey', optional: true },
|
|
121
|
-
{ id: 'serpapi.apiKey', optional: true },
|
|
122
|
-
{ id: 'brave.apiKey', optional: true },
|
|
123
|
-
],
|
|
124
|
-
}
|
|
125
|
-
],
|
|
126
|
-
onActivate: async (lc: ExtensionLifecycleContext) => {
|
|
127
|
-
lc.logger?.info('Web Search Extension activated');
|
|
128
|
-
},
|
|
129
|
-
onDeactivate: async (lc: ExtensionLifecycleContext) => {
|
|
130
|
-
lc.logger?.info('Web Search Extension deactivated');
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
// Export types for consumers
|
|
136
|
-
export { WebSearchTool, ResearchAggregatorTool, FactCheckTool };
|
|
137
|
-
export { SearchProviderService, SearchResult, ProviderResponse } from './services/searchProvider.js';
|
|
138
|
-
export type { SearchProviderConfig, MultiSearchResult, MultiSearchResponse } from './services/searchProvider.js';
|
|
139
|
-
|
|
140
|
-
// Default export for convenience
|
|
141
|
-
export default createExtensionPack;
|