langmart-gateway-type3 3.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.
- package/.env.example +29 -0
- package/README.md +480 -0
- package/dist/bash-tools.d.ts +56 -0
- package/dist/bash-tools.d.ts.map +1 -0
- package/dist/bash-tools.js +188 -0
- package/dist/bash-tools.js.map +1 -0
- package/dist/core-tools.d.ts +94 -0
- package/dist/core-tools.d.ts.map +1 -0
- package/dist/core-tools.js +694 -0
- package/dist/core-tools.js.map +1 -0
- package/dist/debug-utils.d.ts +22 -0
- package/dist/debug-utils.d.ts.map +1 -0
- package/dist/debug-utils.js +37 -0
- package/dist/debug-utils.js.map +1 -0
- package/dist/devops-tools.d.ts +147 -0
- package/dist/devops-tools.d.ts.map +1 -0
- package/dist/devops-tools.js +718 -0
- package/dist/devops-tools.js.map +1 -0
- package/dist/gateway-config.d.ts +56 -0
- package/dist/gateway-config.d.ts.map +1 -0
- package/dist/gateway-config.js +198 -0
- package/dist/gateway-config.js.map +1 -0
- package/dist/gateway-mode.d.ts +58 -0
- package/dist/gateway-mode.d.ts.map +1 -0
- package/dist/gateway-mode.js +240 -0
- package/dist/gateway-mode.js.map +1 -0
- package/dist/gateway-server.d.ts +208 -0
- package/dist/gateway-server.d.ts.map +1 -0
- package/dist/gateway-server.js +1811 -0
- package/dist/gateway-server.js.map +1 -0
- package/dist/headless-session.d.ts +192 -0
- package/dist/headless-session.d.ts.map +1 -0
- package/dist/headless-session.js +584 -0
- package/dist/headless-session.js.map +1 -0
- package/dist/index-server.d.ts +4 -0
- package/dist/index-server.d.ts.map +1 -0
- package/dist/index-server.js +129 -0
- package/dist/index-server.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +101 -0
- package/dist/index.js.map +1 -0
- package/dist/key-vault.d.ts +102 -0
- package/dist/key-vault.d.ts.map +1 -0
- package/dist/key-vault.js +365 -0
- package/dist/key-vault.js.map +1 -0
- package/dist/local-vault.d.ts +195 -0
- package/dist/local-vault.d.ts.map +1 -0
- package/dist/local-vault.js +571 -0
- package/dist/local-vault.js.map +1 -0
- package/dist/marketplace-tools.d.ts +104 -0
- package/dist/marketplace-tools.d.ts.map +1 -0
- package/dist/marketplace-tools.js +2846 -0
- package/dist/marketplace-tools.js.map +1 -0
- package/dist/mcp-manager.d.ts +114 -0
- package/dist/mcp-manager.d.ts.map +1 -0
- package/dist/mcp-manager.js +338 -0
- package/dist/mcp-manager.js.map +1 -0
- package/dist/web-tools.d.ts +86 -0
- package/dist/web-tools.d.ts.map +1 -0
- package/dist/web-tools.js +431 -0
- package/dist/web-tools.js.map +1 -0
- package/dist/websocket-handler.d.ts +131 -0
- package/dist/websocket-handler.d.ts.map +1 -0
- package/dist/websocket-handler.js +596 -0
- package/dist/websocket-handler.js.map +1 -0
- package/dist/welcome-pages.d.ts +6 -0
- package/dist/welcome-pages.d.ts.map +1 -0
- package/dist/welcome-pages.js +200 -0
- package/dist/welcome-pages.js.map +1 -0
- package/package.json +168 -0
- package/scripts/install-remote.sh +282 -0
- package/scripts/start.sh +85 -0
- package/scripts/status.sh +79 -0
- package/scripts/stop.sh +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-manager.js","sourceRoot":"","sources":["../mcp-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export interface WebTool {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
inputSchema: {
|
|
5
|
+
type: string;
|
|
6
|
+
properties: Record<string, any>;
|
|
7
|
+
required: string[];
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export interface WebToolResult {
|
|
11
|
+
success: boolean;
|
|
12
|
+
output?: string;
|
|
13
|
+
error?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class WebTools {
|
|
16
|
+
private static instance;
|
|
17
|
+
private constructor();
|
|
18
|
+
static getInstance(): WebTools;
|
|
19
|
+
/**
|
|
20
|
+
* Get available web tools
|
|
21
|
+
*/
|
|
22
|
+
getTools(): WebTool[];
|
|
23
|
+
/**
|
|
24
|
+
* Execute a web tool
|
|
25
|
+
*/
|
|
26
|
+
executeTool(toolName: string, args: any): Promise<WebToolResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Search the web using DuckDuckGo
|
|
29
|
+
*/
|
|
30
|
+
private toolSearch;
|
|
31
|
+
/**
|
|
32
|
+
* Fetch content from a URL
|
|
33
|
+
*/
|
|
34
|
+
private toolFetch;
|
|
35
|
+
/**
|
|
36
|
+
* Scrape structured data from a webpage
|
|
37
|
+
*/
|
|
38
|
+
private toolScrape;
|
|
39
|
+
/**
|
|
40
|
+
* Format tools for AI system prompt
|
|
41
|
+
*/
|
|
42
|
+
formatToolsForPrompt(): string;
|
|
43
|
+
/**
|
|
44
|
+
* Convert tools to OpenAI tools array format
|
|
45
|
+
* Used when sending tools parameter in chat completion requests
|
|
46
|
+
*/
|
|
47
|
+
toOpenAITools(): any[];
|
|
48
|
+
/**
|
|
49
|
+
* Parse tool call from AI response
|
|
50
|
+
* Supports multiple formats:
|
|
51
|
+
* 1. JSON: {"tool": "web.search", "args": {...}}
|
|
52
|
+
* 2. Function tags: <function=web.search={...}</function>
|
|
53
|
+
*/
|
|
54
|
+
parseToolCall(response: string): {
|
|
55
|
+
tool: string;
|
|
56
|
+
args: any;
|
|
57
|
+
} | null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Usage Example:
|
|
61
|
+
*
|
|
62
|
+
* const webTools = WebTools.getInstance();
|
|
63
|
+
*
|
|
64
|
+
* // Search the web
|
|
65
|
+
* const searchResult = await webTools.executeTool('web.search', {
|
|
66
|
+
* query: 'latest TypeScript features',
|
|
67
|
+
* max_results: 5
|
|
68
|
+
* });
|
|
69
|
+
*
|
|
70
|
+
* // Fetch webpage content
|
|
71
|
+
* const fetchResult = await webTools.executeTool('web.fetch', {
|
|
72
|
+
* url: 'https://example.com',
|
|
73
|
+
* selector: 'article'
|
|
74
|
+
* });
|
|
75
|
+
*
|
|
76
|
+
* // Scrape structured data
|
|
77
|
+
* const scrapeResult = await webTools.executeTool('web.scrape', {
|
|
78
|
+
* url: 'https://example.com/products',
|
|
79
|
+
* selectors: {
|
|
80
|
+
* title: 'h1',
|
|
81
|
+
* prices: '.price',
|
|
82
|
+
* descriptions: '.description'
|
|
83
|
+
* }
|
|
84
|
+
* });
|
|
85
|
+
*/
|
|
86
|
+
//# sourceMappingURL=web-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-tools.d.ts","sourceRoot":"","sources":["../web-tools.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACL;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,QAAQ;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAEhD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,QAAQ;IAO9B;;OAEG;IACH,QAAQ,IAAI,OAAO,EAAE;IA2DrB;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBtE;;OAEG;YACW,UAAU;IAuFxB;;OAEG;YACW,SAAS;IA8EvB;;OAEG;YACW,UAAU;IA8CxB;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAc9B;;;OAGG;IACH,aAAa,IAAI,GAAG,EAAE;IAWtB;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;CA4BtE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG"}
|
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.WebTools = void 0;
|
|
40
|
+
const debug_utils_1 = require("./debug-utils");
|
|
41
|
+
/**
|
|
42
|
+
* Web Tools for Chat Mode
|
|
43
|
+
* Provides web search and fetch capabilities
|
|
44
|
+
*/
|
|
45
|
+
const axios_1 = __importDefault(require("axios"));
|
|
46
|
+
const cheerio = __importStar(require("cheerio"));
|
|
47
|
+
class WebTools {
|
|
48
|
+
constructor() { }
|
|
49
|
+
static getInstance() {
|
|
50
|
+
if (!WebTools.instance) {
|
|
51
|
+
WebTools.instance = new WebTools();
|
|
52
|
+
}
|
|
53
|
+
return WebTools.instance;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get available web tools
|
|
57
|
+
*/
|
|
58
|
+
getTools() {
|
|
59
|
+
return [
|
|
60
|
+
{
|
|
61
|
+
name: 'web.search',
|
|
62
|
+
description: 'Search the web using DuckDuckGo and return summarized results',
|
|
63
|
+
inputSchema: {
|
|
64
|
+
type: 'object',
|
|
65
|
+
properties: {
|
|
66
|
+
query: {
|
|
67
|
+
type: 'string',
|
|
68
|
+
description: 'The search query'
|
|
69
|
+
},
|
|
70
|
+
max_results: {
|
|
71
|
+
type: 'number',
|
|
72
|
+
description: 'Maximum number of results to return (default: 5)'
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
required: ['query']
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'web.fetch',
|
|
80
|
+
description: 'Fetch and extract text content from a URL',
|
|
81
|
+
inputSchema: {
|
|
82
|
+
type: 'object',
|
|
83
|
+
properties: {
|
|
84
|
+
url: {
|
|
85
|
+
type: 'string',
|
|
86
|
+
description: 'The URL to fetch'
|
|
87
|
+
},
|
|
88
|
+
selector: {
|
|
89
|
+
type: 'string',
|
|
90
|
+
description: 'Optional CSS selector to extract specific content'
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
required: ['url']
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'web.scrape',
|
|
98
|
+
description: 'Scrape structured data from a webpage using CSS selectors',
|
|
99
|
+
inputSchema: {
|
|
100
|
+
type: 'object',
|
|
101
|
+
properties: {
|
|
102
|
+
url: {
|
|
103
|
+
type: 'string',
|
|
104
|
+
description: 'The URL to scrape'
|
|
105
|
+
},
|
|
106
|
+
selectors: {
|
|
107
|
+
type: 'object',
|
|
108
|
+
description: 'Object mapping field names to CSS selectors'
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
required: ['url', 'selectors']
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Execute a web tool
|
|
118
|
+
*/
|
|
119
|
+
async executeTool(toolName, args) {
|
|
120
|
+
try {
|
|
121
|
+
switch (toolName) {
|
|
122
|
+
case 'web.search':
|
|
123
|
+
return await this.toolSearch(args);
|
|
124
|
+
case 'web.fetch':
|
|
125
|
+
return await this.toolFetch(args);
|
|
126
|
+
case 'web.scrape':
|
|
127
|
+
return await this.toolScrape(args);
|
|
128
|
+
default:
|
|
129
|
+
return {
|
|
130
|
+
success: false,
|
|
131
|
+
error: `Unknown tool: ${toolName}`
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
return {
|
|
137
|
+
success: false,
|
|
138
|
+
error: `Tool execution failed: ${error.message}`
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Search the web using DuckDuckGo
|
|
144
|
+
*/
|
|
145
|
+
async toolSearch(args) {
|
|
146
|
+
try {
|
|
147
|
+
const query = args.query;
|
|
148
|
+
const maxResults = args.max_results || 5;
|
|
149
|
+
(0, debug_utils_1.debugLog)(`[WebTools] Searching for: ${query}`);
|
|
150
|
+
// Use DuckDuckGo Instant Answer API
|
|
151
|
+
const response = await axios_1.default.get('https://api.duckduckgo.com/', {
|
|
152
|
+
params: {
|
|
153
|
+
q: query,
|
|
154
|
+
format: 'json',
|
|
155
|
+
no_html: 1,
|
|
156
|
+
skip_disambig: 1
|
|
157
|
+
},
|
|
158
|
+
timeout: 10000
|
|
159
|
+
});
|
|
160
|
+
const data = response.data;
|
|
161
|
+
let results = [];
|
|
162
|
+
// Extract abstract if available
|
|
163
|
+
if (data.Abstract) {
|
|
164
|
+
results.push(`**Summary:** ${data.Abstract}`);
|
|
165
|
+
if (data.AbstractURL) {
|
|
166
|
+
results.push(`Source: ${data.AbstractURL}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Extract related topics
|
|
170
|
+
if (data.RelatedTopics && data.RelatedTopics.length > 0) {
|
|
171
|
+
results.push('\n**Related Results:**');
|
|
172
|
+
const topics = data.RelatedTopics.slice(0, maxResults);
|
|
173
|
+
topics.forEach((topic, idx) => {
|
|
174
|
+
if (topic.Text && topic.FirstURL) {
|
|
175
|
+
results.push(`${idx + 1}. ${topic.Text}`);
|
|
176
|
+
results.push(` ${topic.FirstURL}`);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
// If no results from DuckDuckGo, try alternative approach
|
|
181
|
+
if (results.length === 0) {
|
|
182
|
+
// Fallback: Use HTML search (less reliable but better than nothing)
|
|
183
|
+
const htmlResponse = await axios_1.default.get('https://html.duckduckgo.com/html/', {
|
|
184
|
+
params: { q: query },
|
|
185
|
+
headers: {
|
|
186
|
+
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
|
|
187
|
+
},
|
|
188
|
+
timeout: 10000
|
|
189
|
+
});
|
|
190
|
+
const $ = cheerio.load(htmlResponse.data);
|
|
191
|
+
const searchResults = [];
|
|
192
|
+
$('.result').slice(0, maxResults).each((idx, element) => {
|
|
193
|
+
const title = $(element).find('.result__title').text().trim();
|
|
194
|
+
const snippet = $(element).find('.result__snippet').text().trim();
|
|
195
|
+
const url = $(element).find('.result__url').text().trim();
|
|
196
|
+
if (title && url) {
|
|
197
|
+
searchResults.push(`${idx + 1}. **${title}**`);
|
|
198
|
+
if (snippet)
|
|
199
|
+
searchResults.push(` ${snippet}`);
|
|
200
|
+
searchResults.push(` ${url}`);
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
if (searchResults.length > 0) {
|
|
204
|
+
results = [`**Search Results for "${query}":**`, '', ...searchResults];
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
results = [`No results found for "${query}". Try rephrasing your search.`];
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
success: true,
|
|
212
|
+
output: results.join('\n')
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
console.error('[WebTools] Search failed:', error.message);
|
|
217
|
+
return {
|
|
218
|
+
success: false,
|
|
219
|
+
error: `Search failed: ${error.message}`
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Fetch content from a URL
|
|
225
|
+
*/
|
|
226
|
+
async toolFetch(args) {
|
|
227
|
+
try {
|
|
228
|
+
const url = args.url;
|
|
229
|
+
const selector = args.selector;
|
|
230
|
+
(0, debug_utils_1.debugLog)(`[WebTools] Fetching: ${url}`);
|
|
231
|
+
const response = await axios_1.default.get(url, {
|
|
232
|
+
headers: {
|
|
233
|
+
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
|
|
234
|
+
},
|
|
235
|
+
timeout: 15000,
|
|
236
|
+
maxRedirects: 5
|
|
237
|
+
});
|
|
238
|
+
const $ = cheerio.load(response.data);
|
|
239
|
+
// Remove script and style tags
|
|
240
|
+
$('script, style, nav, footer, header').remove();
|
|
241
|
+
let content = '';
|
|
242
|
+
if (selector) {
|
|
243
|
+
// Extract specific content using selector
|
|
244
|
+
content = $(selector).text().trim();
|
|
245
|
+
if (!content) {
|
|
246
|
+
return {
|
|
247
|
+
success: false,
|
|
248
|
+
error: `No content found for selector: ${selector}`
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
// Extract main content (try common content selectors)
|
|
254
|
+
const contentSelectors = [
|
|
255
|
+
'article',
|
|
256
|
+
'main',
|
|
257
|
+
'.content',
|
|
258
|
+
'#content',
|
|
259
|
+
'.post',
|
|
260
|
+
'.article'
|
|
261
|
+
];
|
|
262
|
+
for (const sel of contentSelectors) {
|
|
263
|
+
const text = $(sel).text().trim();
|
|
264
|
+
if (text && text.length > 100) {
|
|
265
|
+
content = text;
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// Fallback to body
|
|
270
|
+
if (!content) {
|
|
271
|
+
content = $('body').text().trim();
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// Clean up whitespace
|
|
275
|
+
content = content.replace(/\s+/g, ' ').trim();
|
|
276
|
+
// Limit output size
|
|
277
|
+
const maxLength = 5000;
|
|
278
|
+
if (content.length > maxLength) {
|
|
279
|
+
content = content.substring(0, maxLength) + '... (truncated)';
|
|
280
|
+
}
|
|
281
|
+
return {
|
|
282
|
+
success: true,
|
|
283
|
+
output: content
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
console.error('[WebTools] Fetch failed:', error.message);
|
|
288
|
+
return {
|
|
289
|
+
success: false,
|
|
290
|
+
error: `Fetch failed: ${error.message}`
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Scrape structured data from a webpage
|
|
296
|
+
*/
|
|
297
|
+
async toolScrape(args) {
|
|
298
|
+
try {
|
|
299
|
+
const url = args.url;
|
|
300
|
+
const selectors = args.selectors;
|
|
301
|
+
(0, debug_utils_1.debugLog)(`[WebTools] Scraping: ${url}`);
|
|
302
|
+
const response = await axios_1.default.get(url, {
|
|
303
|
+
headers: {
|
|
304
|
+
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
|
|
305
|
+
},
|
|
306
|
+
timeout: 15000
|
|
307
|
+
});
|
|
308
|
+
const $ = cheerio.load(response.data);
|
|
309
|
+
const results = {};
|
|
310
|
+
// Extract data using provided selectors
|
|
311
|
+
for (const [field, selector] of Object.entries(selectors)) {
|
|
312
|
+
const elements = $(selector);
|
|
313
|
+
if (elements.length === 1) {
|
|
314
|
+
// Single element - return text
|
|
315
|
+
results[field] = elements.text().trim();
|
|
316
|
+
}
|
|
317
|
+
else if (elements.length > 1) {
|
|
318
|
+
// Multiple elements - return array
|
|
319
|
+
results[field] = elements.map((_, el) => $(el).text().trim()).get();
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
// No elements found
|
|
323
|
+
results[field] = null;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return {
|
|
327
|
+
success: true,
|
|
328
|
+
output: JSON.stringify(results, null, 2)
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
console.error('[WebTools] Scrape failed:', error.message);
|
|
333
|
+
return {
|
|
334
|
+
success: false,
|
|
335
|
+
error: `Scrape failed: ${error.message}`
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Format tools for AI system prompt
|
|
341
|
+
*/
|
|
342
|
+
formatToolsForPrompt() {
|
|
343
|
+
const tools = this.getTools();
|
|
344
|
+
return tools.map(tool => {
|
|
345
|
+
const params = Object.entries(tool.inputSchema.properties)
|
|
346
|
+
.map(([name, schema]) => {
|
|
347
|
+
const required = tool.inputSchema.required.includes(name);
|
|
348
|
+
return ` - ${name}${required ? ' (required)' : ' (optional)'}: ${schema.description}`;
|
|
349
|
+
})
|
|
350
|
+
.join('\n');
|
|
351
|
+
return `- ${tool.name}: ${tool.description}\n${params}`;
|
|
352
|
+
}).join('\n\n');
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Convert tools to OpenAI tools array format
|
|
356
|
+
* Used when sending tools parameter in chat completion requests
|
|
357
|
+
*/
|
|
358
|
+
toOpenAITools() {
|
|
359
|
+
return this.getTools().map(tool => ({
|
|
360
|
+
type: 'function',
|
|
361
|
+
function: {
|
|
362
|
+
name: tool.name,
|
|
363
|
+
description: tool.description,
|
|
364
|
+
parameters: tool.inputSchema
|
|
365
|
+
}
|
|
366
|
+
}));
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Parse tool call from AI response
|
|
370
|
+
* Supports multiple formats:
|
|
371
|
+
* 1. JSON: {"tool": "web.search", "args": {...}}
|
|
372
|
+
* 2. Function tags: <function=web.search={...}</function>
|
|
373
|
+
*/
|
|
374
|
+
parseToolCall(response) {
|
|
375
|
+
try {
|
|
376
|
+
// Format 1: JSON with "tool" and "args" keys
|
|
377
|
+
const jsonMatch = response.match(/\{[\s\S]*"tool"[\s\S]*\}/);
|
|
378
|
+
if (jsonMatch) {
|
|
379
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
380
|
+
if (parsed.tool && parsed.tool.startsWith('web.') && parsed.args) {
|
|
381
|
+
return { tool: parsed.tool, args: parsed.args };
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
// Format 2: XML-like function tags: <function=tool_name={args}</function>
|
|
385
|
+
const functionMatch = response.match(/<function=([\w\.]+)=(\{[\s\S]+?\})<\/function>/);
|
|
386
|
+
if (functionMatch) {
|
|
387
|
+
const toolName = functionMatch[1];
|
|
388
|
+
const argsJson = functionMatch[2];
|
|
389
|
+
const args = JSON.parse(argsJson);
|
|
390
|
+
// Only match web.* tools
|
|
391
|
+
if (toolName.startsWith('web.')) {
|
|
392
|
+
return { tool: toolName, args };
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
catch (error) {
|
|
397
|
+
// Not a tool call
|
|
398
|
+
}
|
|
399
|
+
return null;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
exports.WebTools = WebTools;
|
|
403
|
+
WebTools.instance = null;
|
|
404
|
+
/**
|
|
405
|
+
* Usage Example:
|
|
406
|
+
*
|
|
407
|
+
* const webTools = WebTools.getInstance();
|
|
408
|
+
*
|
|
409
|
+
* // Search the web
|
|
410
|
+
* const searchResult = await webTools.executeTool('web.search', {
|
|
411
|
+
* query: 'latest TypeScript features',
|
|
412
|
+
* max_results: 5
|
|
413
|
+
* });
|
|
414
|
+
*
|
|
415
|
+
* // Fetch webpage content
|
|
416
|
+
* const fetchResult = await webTools.executeTool('web.fetch', {
|
|
417
|
+
* url: 'https://example.com',
|
|
418
|
+
* selector: 'article'
|
|
419
|
+
* });
|
|
420
|
+
*
|
|
421
|
+
* // Scrape structured data
|
|
422
|
+
* const scrapeResult = await webTools.executeTool('web.scrape', {
|
|
423
|
+
* url: 'https://example.com/products',
|
|
424
|
+
* selectors: {
|
|
425
|
+
* title: 'h1',
|
|
426
|
+
* prices: '.price',
|
|
427
|
+
* descriptions: '.description'
|
|
428
|
+
* }
|
|
429
|
+
* });
|
|
430
|
+
*/
|
|
431
|
+
//# sourceMappingURL=web-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-tools.js","sourceRoot":"","sources":["../web-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import WebSocket from 'ws';
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
/**
|
|
4
|
+
* Type 3 Gateway WebSocket Client
|
|
5
|
+
* Connects seller's infrastructure to marketplace
|
|
6
|
+
*
|
|
7
|
+
* Key Features:
|
|
8
|
+
* - Persistent WebSocket connection to marketplace
|
|
9
|
+
* - Automatic reconnection with exponential backoff
|
|
10
|
+
* - Heartbeat monitoring
|
|
11
|
+
* - Request/response routing to provider APIs
|
|
12
|
+
* - Version management with auto-upgrade
|
|
13
|
+
*/
|
|
14
|
+
export declare class Type3GatewayClient extends EventEmitter {
|
|
15
|
+
ws: WebSocket | null;
|
|
16
|
+
private gatewayId;
|
|
17
|
+
private apiKey;
|
|
18
|
+
private marketplaceUrl;
|
|
19
|
+
private marketplaceApiUrl;
|
|
20
|
+
private reconnectAttempts;
|
|
21
|
+
private maxReconnectAttempts;
|
|
22
|
+
private heartbeatInterval;
|
|
23
|
+
private requestHandlers;
|
|
24
|
+
private currentVersion;
|
|
25
|
+
private nodeId;
|
|
26
|
+
private providerApiKeys;
|
|
27
|
+
private metrics;
|
|
28
|
+
constructor(config: {
|
|
29
|
+
gatewayId: string;
|
|
30
|
+
apiKey: string;
|
|
31
|
+
marketplaceUrl?: string;
|
|
32
|
+
providerKeys: {
|
|
33
|
+
[provider: string]: string;
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Connect to marketplace WebSocket
|
|
38
|
+
*/
|
|
39
|
+
connect(): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Send gateway identification after connection
|
|
42
|
+
*/
|
|
43
|
+
private sendIdentification;
|
|
44
|
+
/**
|
|
45
|
+
* Handle incoming WebSocket messages
|
|
46
|
+
*/
|
|
47
|
+
private handleMessage;
|
|
48
|
+
/**
|
|
49
|
+
* Handle inference request from marketplace
|
|
50
|
+
*/
|
|
51
|
+
private handleInferenceRequest;
|
|
52
|
+
/**
|
|
53
|
+
* Forward request to provider API
|
|
54
|
+
*/
|
|
55
|
+
private forwardToProvider;
|
|
56
|
+
/**
|
|
57
|
+
* Get provider-specific headers
|
|
58
|
+
*/
|
|
59
|
+
private getProviderHeaders;
|
|
60
|
+
/**
|
|
61
|
+
* Report error to marketplace API
|
|
62
|
+
*/
|
|
63
|
+
private reportErrorToMarketplace;
|
|
64
|
+
/**
|
|
65
|
+
* Handle heartbeat from marketplace
|
|
66
|
+
*/
|
|
67
|
+
private handleHeartbeat;
|
|
68
|
+
/**
|
|
69
|
+
* Handle version update notification
|
|
70
|
+
*/
|
|
71
|
+
private handleVersionUpdate;
|
|
72
|
+
/**
|
|
73
|
+
* Handle configuration update
|
|
74
|
+
*/
|
|
75
|
+
private handleConfigurationUpdate;
|
|
76
|
+
/**
|
|
77
|
+
* Handle error messages
|
|
78
|
+
*/
|
|
79
|
+
private handleError;
|
|
80
|
+
/**
|
|
81
|
+
* Start heartbeat monitoring
|
|
82
|
+
*/
|
|
83
|
+
private startHeartbeat;
|
|
84
|
+
/**
|
|
85
|
+
* Stop heartbeat monitoring
|
|
86
|
+
*/
|
|
87
|
+
private stopHeartbeat;
|
|
88
|
+
/**
|
|
89
|
+
* Handle disconnection and attempt reconnection
|
|
90
|
+
*/
|
|
91
|
+
private handleDisconnection;
|
|
92
|
+
/**
|
|
93
|
+
* Send message to marketplace
|
|
94
|
+
*/
|
|
95
|
+
private sendMessage;
|
|
96
|
+
/**
|
|
97
|
+
* Map error codes to standard codes
|
|
98
|
+
*/
|
|
99
|
+
private mapErrorCode;
|
|
100
|
+
/**
|
|
101
|
+
* Store learned rate limits
|
|
102
|
+
*/
|
|
103
|
+
private storeRateLimits;
|
|
104
|
+
/**
|
|
105
|
+
* Get CPU usage (simplified)
|
|
106
|
+
*/
|
|
107
|
+
private getCpuUsage;
|
|
108
|
+
/**
|
|
109
|
+
* Disconnect from marketplace
|
|
110
|
+
*/
|
|
111
|
+
disconnect(): void;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Usage Example:
|
|
115
|
+
*
|
|
116
|
+
* const gateway = new Type3GatewayClient({
|
|
117
|
+
* gatewayId: 'gw_abc123',
|
|
118
|
+
* apiKey: 'sk-marketplace-key',
|
|
119
|
+
* providerKeys: {
|
|
120
|
+
* 'openai': 'sk-openai-key',
|
|
121
|
+
* 'anthropic': 'sk-anthropic-key'
|
|
122
|
+
* }
|
|
123
|
+
* });
|
|
124
|
+
*
|
|
125
|
+
* gateway.on('error', (err) => console.error('Gateway error:', err));
|
|
126
|
+
* gateway.on('version_available', (ver) => console.log('Update available:', ver));
|
|
127
|
+
* gateway.on('upgrade_required', (info) => performUpgrade(info));
|
|
128
|
+
*
|
|
129
|
+
* await gateway.connect();
|
|
130
|
+
*/
|
|
131
|
+
//# sourceMappingURL=websocket-handler.d.ts.map
|