@agentforge/tools 0.16.75 → 0.16.77
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.cjs +260 -48
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +56 -27
- package/dist/index.d.ts +56 -27
- package/dist/index.js +255 -48
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { toolBuilder, ToolCategory, LogLevel, createLogger } from '@agentforge/core';
|
|
2
|
-
import
|
|
2
|
+
import { lookup } from 'dns/promises';
|
|
3
|
+
import net from 'net';
|
|
4
|
+
import axios13 from 'axios';
|
|
3
5
|
import { z } from 'zod';
|
|
4
6
|
import * as cheerio from 'cheerio';
|
|
5
7
|
import { WebClient } from '@slack/web-api';
|
|
@@ -21,6 +23,204 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
21
23
|
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
22
24
|
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
23
25
|
});
|
|
26
|
+
var DEFAULT_MAX_REDIRECTS = 5;
|
|
27
|
+
var REDIRECT_STATUSES = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
|
|
28
|
+
var IPV4_MAPPED_NETWORK = "::ffff:0:0";
|
|
29
|
+
var SENSITIVE_REDIRECT_HEADERS = /* @__PURE__ */ new Set(["authorization", "cookie", "proxy-authorization"]);
|
|
30
|
+
var DEFAULT_DESTINATION_POLICY = Object.freeze({
|
|
31
|
+
allowLocalhost: false,
|
|
32
|
+
allowPrivateNetwork: false,
|
|
33
|
+
allowLinkLocal: false,
|
|
34
|
+
allowMetadata: false,
|
|
35
|
+
allowRedirects: true,
|
|
36
|
+
maxRedirects: DEFAULT_MAX_REDIRECTS
|
|
37
|
+
});
|
|
38
|
+
var DestinationPolicyError = class extends Error {
|
|
39
|
+
constructor(url, reason, message) {
|
|
40
|
+
super(message);
|
|
41
|
+
this.url = url;
|
|
42
|
+
this.reason = reason;
|
|
43
|
+
this.name = "DestinationPolicyError";
|
|
44
|
+
}
|
|
45
|
+
code = "WEB_DESTINATION_BLOCKED";
|
|
46
|
+
};
|
|
47
|
+
function ipv4ToNumber(address) {
|
|
48
|
+
const octets = address.split(".").map(Number);
|
|
49
|
+
if (octets.length !== 4 || octets.some((octet) => !Number.isInteger(octet) || octet < 0 || octet > 255)) return void 0;
|
|
50
|
+
return ((octets[0] * 256 + octets[1]) * 256 + octets[2]) * 256 + octets[3] >>> 0;
|
|
51
|
+
}
|
|
52
|
+
function ipv4InCidr(address, network, prefix) {
|
|
53
|
+
const value = ipv4ToNumber(address);
|
|
54
|
+
const networkValue = ipv4ToNumber(network);
|
|
55
|
+
if (value === void 0 || networkValue === void 0) return false;
|
|
56
|
+
const mask = prefix === 0 ? 0 : 4294967295 << 32 - prefix >>> 0;
|
|
57
|
+
return (value & mask) === (networkValue & mask);
|
|
58
|
+
}
|
|
59
|
+
function expandIpv6(address) {
|
|
60
|
+
const normalized = address.toLowerCase().split("%")[0];
|
|
61
|
+
let input = normalized;
|
|
62
|
+
const ipv4Start = normalized.lastIndexOf(":") + 1;
|
|
63
|
+
const ipv4 = normalized.slice(ipv4Start);
|
|
64
|
+
if (net.isIP(ipv4) === 4) {
|
|
65
|
+
const value = ipv4ToNumber(ipv4);
|
|
66
|
+
if (value === void 0) return void 0;
|
|
67
|
+
input = `${normalized.slice(0, ipv4Start)}${(value >>> 16).toString(16)}:${(value & 65535).toString(16)}`;
|
|
68
|
+
}
|
|
69
|
+
const halves = input.split("::");
|
|
70
|
+
if (halves.length > 2) return void 0;
|
|
71
|
+
const left = halves[0] ? halves[0].split(":").filter(Boolean) : [];
|
|
72
|
+
const right = halves.length === 2 && halves[1] ? halves[1].split(":").filter(Boolean) : [];
|
|
73
|
+
const missing = 8 - left.length - right.length;
|
|
74
|
+
if (missing < 0 || halves.length === 1 && missing !== 0) return void 0;
|
|
75
|
+
const groups = [...left, ...Array.from({ length: missing }, () => "0"), ...right];
|
|
76
|
+
if (groups.length !== 8 || groups.some((group) => !/^[0-9a-f]{1,4}$/.test(group))) return void 0;
|
|
77
|
+
return groups.reduce((value, group) => value << 16n | BigInt(parseInt(group, 16)), 0n);
|
|
78
|
+
}
|
|
79
|
+
function ipv6InCidr(address, network, prefix) {
|
|
80
|
+
return prefix === 0 || address >> BigInt(128 - prefix) === network >> BigInt(128 - prefix);
|
|
81
|
+
}
|
|
82
|
+
function ipv6ToIpv4(address) {
|
|
83
|
+
const mappedNetwork = expandIpv6(IPV4_MAPPED_NETWORK);
|
|
84
|
+
if (mappedNetwork === void 0 || !ipv6InCidr(address, mappedNetwork, 96)) return void 0;
|
|
85
|
+
const value = Number(address & 0xffffffffn) >>> 0;
|
|
86
|
+
return [value >>> 24, value >>> 16 & 255, value >>> 8 & 255, value & 255].join(".");
|
|
87
|
+
}
|
|
88
|
+
function classifyIp(address) {
|
|
89
|
+
const normalized = address.replace(/^\[|\]$/g, "").toLowerCase();
|
|
90
|
+
const version = net.isIP(normalized);
|
|
91
|
+
if (version === 4) {
|
|
92
|
+
if (normalized === "169.254.169.254") return "metadata";
|
|
93
|
+
if (ipv4InCidr(normalized, "127.0.0.0", 8)) return "localhost";
|
|
94
|
+
if (ipv4InCidr(normalized, "169.254.0.0", 16)) return "link-local";
|
|
95
|
+
if (ipv4InCidr(normalized, "10.0.0.0", 8) || ipv4InCidr(normalized, "172.16.0.0", 12) || ipv4InCidr(normalized, "192.168.0.0", 16) || ipv4InCidr(normalized, "100.64.0.0", 10)) return "private-network";
|
|
96
|
+
return void 0;
|
|
97
|
+
}
|
|
98
|
+
if (version !== 6) return void 0;
|
|
99
|
+
const value = expandIpv6(normalized);
|
|
100
|
+
if (value === void 0) return void 0;
|
|
101
|
+
const mappedIpv4 = ipv6ToIpv4(value);
|
|
102
|
+
if (mappedIpv4) return classifyIp(mappedIpv4);
|
|
103
|
+
if (value === expandIpv6("fd00:ec2::254")) return "metadata";
|
|
104
|
+
if (value === expandIpv6("::1")) return "localhost";
|
|
105
|
+
if (ipv6InCidr(value, expandIpv6("fe80::"), 10)) return "link-local";
|
|
106
|
+
if (ipv6InCidr(value, expandIpv6("fc00::"), 7)) return "private-network";
|
|
107
|
+
return void 0;
|
|
108
|
+
}
|
|
109
|
+
function classifyHostname(hostname) {
|
|
110
|
+
const normalized = hostname.toLowerCase().replace(/\.$/, "");
|
|
111
|
+
if (normalized === "localhost" || normalized.endsWith(".localhost") || normalized === "localhost.localdomain") return "localhost";
|
|
112
|
+
if (normalized === "metadata" || normalized === "metadata.google.internal" || normalized === "instance-data") return "metadata";
|
|
113
|
+
return classifyIp(normalized);
|
|
114
|
+
}
|
|
115
|
+
function policyAllows(reason, policy) {
|
|
116
|
+
if (reason === "localhost") return policy.allowLocalhost === true;
|
|
117
|
+
if (reason === "metadata") return policy.allowMetadata === true;
|
|
118
|
+
if (reason === "private-network") return policy.allowPrivateNetwork === true;
|
|
119
|
+
if (reason === "link-local") return policy.allowLinkLocal === true;
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
async function resolveDestinationAddresses(hostname) {
|
|
123
|
+
try {
|
|
124
|
+
const addresses = await lookup(hostname, { all: true, verbatim: true });
|
|
125
|
+
return addresses.map(({ address, family }) => ({ address, family }));
|
|
126
|
+
} catch (error) {
|
|
127
|
+
throw new DestinationPolicyError(hostname, "dns-resolution-failed", `Destination policy could not resolve hostname "${hostname}" before making a request: ${error instanceof Error ? error.message : String(error)}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function blockDestination(url, reason) {
|
|
131
|
+
throw new DestinationPolicyError(url, reason, `Destination blocked by web egress policy (${reason}): ${url}`);
|
|
132
|
+
}
|
|
133
|
+
async function validateDestinationAllowed(url, policy) {
|
|
134
|
+
const effectivePolicy = { ...DEFAULT_DESTINATION_POLICY, ...policy };
|
|
135
|
+
let parsed;
|
|
136
|
+
try {
|
|
137
|
+
parsed = new URL(url);
|
|
138
|
+
} catch {
|
|
139
|
+
blockDestination(url, "unsupported-protocol");
|
|
140
|
+
}
|
|
141
|
+
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") blockDestination(url, "unsupported-protocol");
|
|
142
|
+
const hostname = parsed.hostname.replace(/^\[|\]$/g, "").toLowerCase();
|
|
143
|
+
const directReason = classifyHostname(hostname);
|
|
144
|
+
if (directReason && !policyAllows(directReason, effectivePolicy)) blockDestination(url, directReason);
|
|
145
|
+
const version = net.isIP(hostname);
|
|
146
|
+
if (version !== 0) return [{ address: hostname, family: version }];
|
|
147
|
+
const addresses = await resolveDestinationAddresses(hostname);
|
|
148
|
+
for (const { address } of addresses) {
|
|
149
|
+
const reason = classifyIp(address);
|
|
150
|
+
if (reason && !policyAllows(reason, effectivePolicy)) blockDestination(url, reason);
|
|
151
|
+
}
|
|
152
|
+
return addresses;
|
|
153
|
+
}
|
|
154
|
+
async function assertDestinationAllowed(url, policy = {}) {
|
|
155
|
+
await validateDestinationAllowed(url, policy);
|
|
156
|
+
}
|
|
157
|
+
function isRedirectStatus(status) {
|
|
158
|
+
return REDIRECT_STATUSES.has(status);
|
|
159
|
+
}
|
|
160
|
+
function responseLocation(response) {
|
|
161
|
+
const headers = response.headers;
|
|
162
|
+
return headers.location ?? headers.Location;
|
|
163
|
+
}
|
|
164
|
+
function stripSensitiveRedirectHeaders(headers) {
|
|
165
|
+
if (!headers) return headers;
|
|
166
|
+
const sanitizedHeaders = { ...headers };
|
|
167
|
+
for (const headerName of Object.keys(sanitizedHeaders)) {
|
|
168
|
+
if (SENSITIVE_REDIRECT_HEADERS.has(headerName.toLowerCase())) delete sanitizedHeaders[headerName];
|
|
169
|
+
}
|
|
170
|
+
return sanitizedHeaders;
|
|
171
|
+
}
|
|
172
|
+
function createPinnedLookup(addresses) {
|
|
173
|
+
return (_hostname, options, callback) => {
|
|
174
|
+
const requestedFamily = "family" in options && (options.family === 4 || options.family === 6) ? options.family : void 0;
|
|
175
|
+
const candidates = requestedFamily ? addresses.filter(({ family: family2 }) => family2 === requestedFamily) : addresses;
|
|
176
|
+
if (candidates.length === 0) {
|
|
177
|
+
callback(new Error(`No validated destination address matches the requested address family: ${requestedFamily}`), "", void 0);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if ("all" in options && options.all === true) {
|
|
181
|
+
callback(null, candidates, void 0);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const [{ address, family }] = candidates;
|
|
185
|
+
callback(null, address, family);
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
async function requestWithDestinationPolicy(config, policy = {}) {
|
|
189
|
+
if (!config.url) throw new Error("A request URL is required for destination policy enforcement");
|
|
190
|
+
const effectivePolicy = { ...DEFAULT_DESTINATION_POLICY, ...policy };
|
|
191
|
+
const maxRedirects = effectivePolicy.maxRedirects;
|
|
192
|
+
if (!Number.isInteger(maxRedirects) || maxRedirects < 0) throw new Error("maxRedirects must be a non-negative integer");
|
|
193
|
+
let currentUrl = config.url;
|
|
194
|
+
let currentConfig = {
|
|
195
|
+
...config,
|
|
196
|
+
url: currentUrl,
|
|
197
|
+
maxRedirects: 0,
|
|
198
|
+
validateStatus: (status) => isRedirectStatus(status) || (config.validateStatus ? config.validateStatus(status) : status >= 200 && status < 300)
|
|
199
|
+
};
|
|
200
|
+
for (let redirectCount = 0; ; redirectCount += 1) {
|
|
201
|
+
const validatedAddresses = await validateDestinationAllowed(currentUrl, effectivePolicy);
|
|
202
|
+
currentConfig.lookup = createPinnedLookup(validatedAddresses);
|
|
203
|
+
const response = await axios13(currentConfig);
|
|
204
|
+
if (!isRedirectStatus(response.status)) return response;
|
|
205
|
+
if (effectivePolicy.allowRedirects === false) blockDestination(currentUrl, "redirect");
|
|
206
|
+
if (redirectCount >= maxRedirects) throw new DestinationPolicyError(currentUrl, "redirect", `Maximum redirect count (${maxRedirects}) exceeded for ${currentUrl}`);
|
|
207
|
+
const location = responseLocation(response);
|
|
208
|
+
if (!location) throw new DestinationPolicyError(currentUrl, "redirect", `Redirect response did not include a Location header: ${currentUrl}`);
|
|
209
|
+
const previousUrl = currentUrl;
|
|
210
|
+
try {
|
|
211
|
+
currentUrl = new URL(location, currentUrl).toString();
|
|
212
|
+
} catch {
|
|
213
|
+
throw new DestinationPolicyError(currentUrl, "redirect", `Redirect response included an invalid Location header: ${location}`);
|
|
214
|
+
}
|
|
215
|
+
const method = String(currentConfig.method ?? "GET").toUpperCase();
|
|
216
|
+
const nextMethod = response.status === 303 || (response.status === 301 || response.status === 302) && method === "POST" ? "GET" : method;
|
|
217
|
+
currentConfig = { ...currentConfig, url: currentUrl, method: nextMethod };
|
|
218
|
+
if (new URL(previousUrl).origin !== new URL(currentUrl).origin) {
|
|
219
|
+
currentConfig.headers = stripSensitiveRedirectHeaders(currentConfig.headers);
|
|
220
|
+
}
|
|
221
|
+
if (nextMethod === "GET" || nextMethod === "HEAD") delete currentConfig.data;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
24
224
|
var HttpMethod = z.enum(["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"]);
|
|
25
225
|
var httpRequestSchema = z.object({
|
|
26
226
|
url: z.string().url().describe("The URL to make the request to"),
|
|
@@ -42,8 +242,8 @@ var httpPostSchema = z.object({
|
|
|
42
242
|
});
|
|
43
243
|
|
|
44
244
|
// src/web/http/tools/http-client.ts
|
|
45
|
-
function createHttpClientTool(defaultTimeout = 3e4, defaultHeaders = {}) {
|
|
46
|
-
return toolBuilder().name("http-client").description("Make HTTP requests to web APIs and services. Supports GET, POST, PUT, DELETE, PATCH methods with custom headers and body.").category(ToolCategory.WEB).tags(["http", "api", "request", "web"]).schema(httpRequestSchema).implement(async (input) => {
|
|
245
|
+
function createHttpClientTool(defaultTimeout = 3e4, defaultHeaders = {}, destinationPolicy = {}) {
|
|
246
|
+
return toolBuilder().name("http-client").description("Make policy-checked HTTP requests to web APIs and services. Supports GET, POST, PUT, DELETE, PATCH methods with custom headers and body. Local, metadata, link-local, and private-network destinations are blocked by default.").category(ToolCategory.WEB).tags(["http", "api", "request", "web"]).schema(httpRequestSchema).implement(async (input) => {
|
|
47
247
|
const config = {
|
|
48
248
|
method: input.method,
|
|
49
249
|
url: input.url,
|
|
@@ -54,37 +254,42 @@ function createHttpClientTool(defaultTimeout = 3e4, defaultHeaders = {}) {
|
|
|
54
254
|
validateStatus: () => true
|
|
55
255
|
// Don't throw on any status code
|
|
56
256
|
};
|
|
57
|
-
const response = await
|
|
257
|
+
const response = await requestWithDestinationPolicy(config, destinationPolicy);
|
|
58
258
|
return {
|
|
59
259
|
status: response.status,
|
|
60
260
|
statusText: response.statusText,
|
|
61
261
|
headers: response.headers,
|
|
62
262
|
data: response.data,
|
|
63
|
-
url: input.url,
|
|
263
|
+
url: response.config.url ?? input.url,
|
|
64
264
|
method: input.method ?? "GET"
|
|
65
265
|
};
|
|
66
266
|
}).build();
|
|
67
267
|
}
|
|
68
|
-
function createHttpGetTool(defaultTimeout = 3e4, defaultHeaders = {}) {
|
|
69
|
-
return toolBuilder().name("http-get").description("Make a
|
|
70
|
-
const response = await
|
|
268
|
+
function createHttpGetTool(defaultTimeout = 3e4, defaultHeaders = {}, destinationPolicy = {}) {
|
|
269
|
+
return toolBuilder().name("http-get").description("Make a policy-checked HTTP GET request to a URL and return the response data. Local, metadata, link-local, and private-network destinations are blocked by default.").category(ToolCategory.WEB).tags(["http", "get", "fetch", "web"]).schema(httpGetSchema).implement(async (input) => {
|
|
270
|
+
const response = await requestWithDestinationPolicy({
|
|
271
|
+
method: "GET",
|
|
272
|
+
url: input.url,
|
|
71
273
|
headers: { ...defaultHeaders, ...input.headers },
|
|
72
274
|
params: input.params,
|
|
73
275
|
timeout: defaultTimeout
|
|
74
|
-
});
|
|
276
|
+
}, destinationPolicy);
|
|
75
277
|
return response.data;
|
|
76
278
|
}).build();
|
|
77
279
|
}
|
|
78
|
-
function createHttpPostTool(defaultTimeout = 3e4, defaultHeaders = {}) {
|
|
79
|
-
return toolBuilder().name("http-post").description("Make a
|
|
80
|
-
const response = await
|
|
280
|
+
function createHttpPostTool(defaultTimeout = 3e4, defaultHeaders = {}, destinationPolicy = {}) {
|
|
281
|
+
return toolBuilder().name("http-post").description("Make a policy-checked HTTP POST request with JSON body and return the response data. Local, metadata, link-local, and private-network destinations are blocked by default.").category(ToolCategory.WEB).tags(["http", "post", "api", "web"]).schema(httpPostSchema).implement(async (input) => {
|
|
282
|
+
const response = await requestWithDestinationPolicy({
|
|
283
|
+
method: "POST",
|
|
284
|
+
url: input.url,
|
|
285
|
+
data: input.body,
|
|
81
286
|
headers: {
|
|
82
287
|
"Content-Type": "application/json",
|
|
83
288
|
...defaultHeaders,
|
|
84
289
|
...input.headers
|
|
85
290
|
},
|
|
86
291
|
timeout: defaultTimeout
|
|
87
|
-
});
|
|
292
|
+
}, destinationPolicy);
|
|
88
293
|
return response.data;
|
|
89
294
|
}).build();
|
|
90
295
|
}
|
|
@@ -95,11 +300,11 @@ var httpGet = createHttpGetTool();
|
|
|
95
300
|
var httpPost = createHttpPostTool();
|
|
96
301
|
var httpTools = [httpClient, httpGet, httpPost];
|
|
97
302
|
function createHttpTools(config = {}) {
|
|
98
|
-
const { defaultTimeout = 3e4, defaultHeaders = {} } = config;
|
|
303
|
+
const { defaultTimeout = 3e4, defaultHeaders = {}, destinationPolicy = {} } = config;
|
|
99
304
|
return [
|
|
100
|
-
createHttpClientTool(defaultTimeout, defaultHeaders),
|
|
101
|
-
createHttpGetTool(defaultTimeout, defaultHeaders),
|
|
102
|
-
createHttpPostTool(defaultTimeout, defaultHeaders)
|
|
305
|
+
createHttpClientTool(defaultTimeout, defaultHeaders, destinationPolicy),
|
|
306
|
+
createHttpGetTool(defaultTimeout, defaultHeaders, destinationPolicy),
|
|
307
|
+
createHttpPostTool(defaultTimeout, defaultHeaders, destinationPolicy)
|
|
103
308
|
];
|
|
104
309
|
}
|
|
105
310
|
var webScraperSchema = z.object({
|
|
@@ -112,18 +317,20 @@ var webScraperSchema = z.object({
|
|
|
112
317
|
extractMetadata: z.boolean().default(false).describe("Extract meta tags (title, description, etc.)"),
|
|
113
318
|
timeout: z.number().default(3e4).describe("Request timeout in milliseconds")
|
|
114
319
|
});
|
|
115
|
-
function createWebScraperTool(defaultTimeout = 3e4, userAgent = "Mozilla/5.0 (compatible; AgentForge/1.0; +https://agentforge.dev)") {
|
|
116
|
-
return toolBuilder().name("web-scraper").description("Scrape and extract data from web pages.
|
|
117
|
-
const response = await
|
|
320
|
+
function createWebScraperTool(defaultTimeout = 3e4, userAgent = "Mozilla/5.0 (compatible; AgentForge/1.0; +https://agentforge.dev)", destinationPolicy = {}) {
|
|
321
|
+
return toolBuilder().name("web-scraper").description("Scrape and extract data from policy-checked web pages. Local, metadata, link-local, and private-network destinations are blocked by default. Supports text, HTML, links, images, and CSS selectors.").category(ToolCategory.WEB).tags(["scraper", "web", "html", "extract", "parse"]).schema(webScraperSchema).implement(async (input) => {
|
|
322
|
+
const response = await requestWithDestinationPolicy({
|
|
323
|
+
method: "GET",
|
|
324
|
+
url: input.url,
|
|
118
325
|
timeout: input.timeout || defaultTimeout,
|
|
119
326
|
headers: {
|
|
120
327
|
"User-Agent": userAgent
|
|
121
328
|
}
|
|
122
|
-
});
|
|
329
|
+
}, destinationPolicy);
|
|
123
330
|
const html = response.data;
|
|
124
331
|
const $ = cheerio.load(html);
|
|
125
332
|
const result = {
|
|
126
|
-
url: input.url
|
|
333
|
+
url: response.config.url ?? input.url
|
|
127
334
|
};
|
|
128
335
|
const $selected = input.selector ? $(input.selector) : $("body");
|
|
129
336
|
if (input.extractText) {
|
|
@@ -188,8 +395,8 @@ function createWebScraperTool(defaultTimeout = 3e4, userAgent = "Mozilla/5.0 (co
|
|
|
188
395
|
var webScraper = createWebScraperTool();
|
|
189
396
|
var scraperTools = [webScraper];
|
|
190
397
|
function createScraperTools(config = {}) {
|
|
191
|
-
const { defaultTimeout = 3e4, userAgent = "Mozilla/5.0 (compatible; AgentForge/1.0; +https://agentforge.dev)" } = config;
|
|
192
|
-
return [createWebScraperTool(defaultTimeout, userAgent)];
|
|
398
|
+
const { defaultTimeout = 3e4, userAgent = "Mozilla/5.0 (compatible; AgentForge/1.0; +https://agentforge.dev)", destinationPolicy = {} } = config;
|
|
399
|
+
return [createWebScraperTool(defaultTimeout, userAgent, destinationPolicy)];
|
|
193
400
|
}
|
|
194
401
|
var htmlParserSchema = z.object({
|
|
195
402
|
html: z.string().describe("The HTML content to parse"),
|
|
@@ -504,7 +711,7 @@ var DuckDuckGoProvider = class {
|
|
|
504
711
|
async search(query, maxResults, timeout = DEFAULT_TIMEOUT) {
|
|
505
712
|
return retryWithBackoff(async () => {
|
|
506
713
|
try {
|
|
507
|
-
const response = await
|
|
714
|
+
const response = await axios13.get(
|
|
508
715
|
"https://api.duckduckgo.com/",
|
|
509
716
|
{
|
|
510
717
|
params: {
|
|
@@ -608,7 +815,7 @@ var SerperProvider = class {
|
|
|
608
815
|
}
|
|
609
816
|
return retryWithBackoff(async () => {
|
|
610
817
|
try {
|
|
611
|
-
const response = await
|
|
818
|
+
const response = await axios13.post(
|
|
612
819
|
"https://google.serper.dev/search",
|
|
613
820
|
{
|
|
614
821
|
q: query,
|
|
@@ -1042,7 +1249,7 @@ function createSearchConfluenceTool(getAuth, getAuthHeader2, logger19) {
|
|
|
1042
1249
|
logger19.info("search-confluence called", { query, limit });
|
|
1043
1250
|
try {
|
|
1044
1251
|
const { ATLASSIAN_SITE_URL } = getAuth();
|
|
1045
|
-
const response = await
|
|
1252
|
+
const response = await axios13.get(`${ATLASSIAN_SITE_URL}/wiki/rest/api/content/search`, {
|
|
1046
1253
|
headers: {
|
|
1047
1254
|
Authorization: getAuthHeader2(),
|
|
1048
1255
|
Accept: "application/json"
|
|
@@ -1104,7 +1311,7 @@ function createGetConfluencePageTool(getAuth, getAuthHeader2, logger19) {
|
|
|
1104
1311
|
logger19.info("get-confluence-page called", { page_id });
|
|
1105
1312
|
try {
|
|
1106
1313
|
const { ATLASSIAN_SITE_URL } = getAuth();
|
|
1107
|
-
const response = await
|
|
1314
|
+
const response = await axios13.get(`${ATLASSIAN_SITE_URL}/wiki/rest/api/content/${page_id}`, {
|
|
1108
1315
|
headers: {
|
|
1109
1316
|
Authorization: getAuthHeader2(),
|
|
1110
1317
|
Accept: "application/json"
|
|
@@ -1155,7 +1362,7 @@ function createListConfluenceSpacesTool(getAuth, getAuthHeader2, logger19) {
|
|
|
1155
1362
|
logger19.info("list-confluence-spaces called", { limit });
|
|
1156
1363
|
try {
|
|
1157
1364
|
const { ATLASSIAN_SITE_URL } = getAuth();
|
|
1158
|
-
const response = await
|
|
1365
|
+
const response = await axios13.get(`${ATLASSIAN_SITE_URL}/wiki/rest/api/space`, {
|
|
1159
1366
|
headers: {
|
|
1160
1367
|
Authorization: getAuthHeader2(),
|
|
1161
1368
|
Accept: "application/json"
|
|
@@ -1201,7 +1408,7 @@ function createGetSpacePagesTool(getAuth, getAuthHeader2, logger19) {
|
|
|
1201
1408
|
logger19.info("get-space-pages called", { space_key, limit });
|
|
1202
1409
|
try {
|
|
1203
1410
|
const { ATLASSIAN_SITE_URL } = getAuth();
|
|
1204
|
-
const response = await
|
|
1411
|
+
const response = await axios13.get(`${ATLASSIAN_SITE_URL}/wiki/rest/api/content`, {
|
|
1205
1412
|
headers: {
|
|
1206
1413
|
Authorization: getAuthHeader2(),
|
|
1207
1414
|
Accept: "application/json"
|
|
@@ -1275,7 +1482,7 @@ function createCreateConfluencePageTool(getAuth, getAuthHeader2, logger19) {
|
|
|
1275
1482
|
if (parent_page_id) {
|
|
1276
1483
|
pageData.ancestors = [{ id: parent_page_id }];
|
|
1277
1484
|
}
|
|
1278
|
-
const response = await
|
|
1485
|
+
const response = await axios13.post(
|
|
1279
1486
|
`${ATLASSIAN_SITE_URL}/wiki/rest/api/content`,
|
|
1280
1487
|
pageData,
|
|
1281
1488
|
{
|
|
@@ -1323,7 +1530,7 @@ function createUpdateConfluencePageTool(getAuth, getAuthHeader2, logger19) {
|
|
|
1323
1530
|
logger19.info("update-confluence-page called", { page_id, title });
|
|
1324
1531
|
try {
|
|
1325
1532
|
const { ATLASSIAN_SITE_URL } = getAuth();
|
|
1326
|
-
const getResponse = await
|
|
1533
|
+
const getResponse = await axios13.get(
|
|
1327
1534
|
`${ATLASSIAN_SITE_URL}/wiki/rest/api/content/${page_id}`,
|
|
1328
1535
|
{
|
|
1329
1536
|
headers: {
|
|
@@ -1333,7 +1540,7 @@ function createUpdateConfluencePageTool(getAuth, getAuthHeader2, logger19) {
|
|
|
1333
1540
|
}
|
|
1334
1541
|
);
|
|
1335
1542
|
const currentVersion = getResponse.data.version.number;
|
|
1336
|
-
const updateResponse = await
|
|
1543
|
+
const updateResponse = await axios13.put(
|
|
1337
1544
|
`${ATLASSIAN_SITE_URL}/wiki/rest/api/content/${page_id}`,
|
|
1338
1545
|
{
|
|
1339
1546
|
type: "page",
|
|
@@ -1394,7 +1601,7 @@ function createArchiveConfluencePageTool(getAuth, getAuthHeader2, logger19) {
|
|
|
1394
1601
|
});
|
|
1395
1602
|
try {
|
|
1396
1603
|
const { ATLASSIAN_SITE_URL } = getAuth();
|
|
1397
|
-
const getResponse = await
|
|
1604
|
+
const getResponse = await axios13.get(
|
|
1398
1605
|
`${ATLASSIAN_SITE_URL}/wiki/rest/api/content/${page_id}`,
|
|
1399
1606
|
{
|
|
1400
1607
|
headers: {
|
|
@@ -1405,7 +1612,7 @@ function createArchiveConfluencePageTool(getAuth, getAuthHeader2, logger19) {
|
|
|
1405
1612
|
);
|
|
1406
1613
|
const currentVersion = getResponse.data.version.number;
|
|
1407
1614
|
const pageData = getResponse.data;
|
|
1408
|
-
await
|
|
1615
|
+
await axios13.put(
|
|
1409
1616
|
`${ATLASSIAN_SITE_URL}/wiki/rest/api/content/${page_id}`,
|
|
1410
1617
|
{
|
|
1411
1618
|
version: { number: currentVersion + 1 },
|
|
@@ -2470,7 +2677,7 @@ var OpenAIEmbeddingProvider = class {
|
|
|
2470
2677
|
const modelToUse = model || this.defaultModel;
|
|
2471
2678
|
return retryWithBackoff2(async () => {
|
|
2472
2679
|
try {
|
|
2473
|
-
const response = await
|
|
2680
|
+
const response = await axios13.post(
|
|
2474
2681
|
`${this.baseURL}/embeddings`,
|
|
2475
2682
|
{
|
|
2476
2683
|
input: text,
|
|
@@ -2534,7 +2741,7 @@ var OpenAIEmbeddingProvider = class {
|
|
|
2534
2741
|
const modelToUse = model || this.defaultModel;
|
|
2535
2742
|
return retryWithBackoff2(async () => {
|
|
2536
2743
|
try {
|
|
2537
|
-
const response = await
|
|
2744
|
+
const response = await axios13.post(
|
|
2538
2745
|
`${this.baseURL}/embeddings`,
|
|
2539
2746
|
{
|
|
2540
2747
|
input: texts,
|
|
@@ -2614,7 +2821,7 @@ var CohereEmbeddingProvider = class {
|
|
|
2614
2821
|
const modelToUse = model || this.defaultModel;
|
|
2615
2822
|
return retryWithBackoff2(async () => {
|
|
2616
2823
|
try {
|
|
2617
|
-
const response = await
|
|
2824
|
+
const response = await axios13.post(
|
|
2618
2825
|
`${this.baseUrl}/embed`,
|
|
2619
2826
|
{
|
|
2620
2827
|
texts,
|
|
@@ -2642,7 +2849,7 @@ var CohereEmbeddingProvider = class {
|
|
|
2642
2849
|
} : void 0
|
|
2643
2850
|
};
|
|
2644
2851
|
} catch (error) {
|
|
2645
|
-
if (
|
|
2852
|
+
if (axios13.isAxiosError(error)) {
|
|
2646
2853
|
const status = error.response?.status;
|
|
2647
2854
|
const message = error.response?.data?.message || error.message;
|
|
2648
2855
|
let wrappedError;
|
|
@@ -2682,7 +2889,7 @@ var HuggingFaceEmbeddingProvider = class {
|
|
|
2682
2889
|
const modelToUse = model || this.defaultModel;
|
|
2683
2890
|
return retryWithBackoff2(async () => {
|
|
2684
2891
|
try {
|
|
2685
|
-
const response = await
|
|
2892
|
+
const response = await axios13.post(
|
|
2686
2893
|
`${this.baseUrl}/${modelToUse}`,
|
|
2687
2894
|
{
|
|
2688
2895
|
inputs: text,
|
|
@@ -2704,7 +2911,7 @@ var HuggingFaceEmbeddingProvider = class {
|
|
|
2704
2911
|
dimensions: embedding.length
|
|
2705
2912
|
};
|
|
2706
2913
|
} catch (error) {
|
|
2707
|
-
if (
|
|
2914
|
+
if (axios13.isAxiosError(error)) {
|
|
2708
2915
|
const status = error.response?.status;
|
|
2709
2916
|
const message = error.response?.data?.error || error.message;
|
|
2710
2917
|
let wrappedError;
|
|
@@ -2731,7 +2938,7 @@ var HuggingFaceEmbeddingProvider = class {
|
|
|
2731
2938
|
const modelToUse = model || this.defaultModel;
|
|
2732
2939
|
return retryWithBackoff2(async () => {
|
|
2733
2940
|
try {
|
|
2734
|
-
const response = await
|
|
2941
|
+
const response = await axios13.post(
|
|
2735
2942
|
`${this.baseUrl}/${modelToUse}`,
|
|
2736
2943
|
{
|
|
2737
2944
|
inputs: texts,
|
|
@@ -2754,7 +2961,7 @@ var HuggingFaceEmbeddingProvider = class {
|
|
|
2754
2961
|
dimensions
|
|
2755
2962
|
};
|
|
2756
2963
|
} catch (error) {
|
|
2757
|
-
if (
|
|
2964
|
+
if (axios13.isAxiosError(error)) {
|
|
2758
2965
|
const status = error.response?.status;
|
|
2759
2966
|
const message = error.response?.data?.error || error.message;
|
|
2760
2967
|
let wrappedError;
|
|
@@ -2805,7 +3012,7 @@ var VoyageEmbeddingProvider = class {
|
|
|
2805
3012
|
const modelToUse = model || this.defaultModel;
|
|
2806
3013
|
return retryWithBackoff2(async () => {
|
|
2807
3014
|
try {
|
|
2808
|
-
const response = await
|
|
3015
|
+
const response = await axios13.post(
|
|
2809
3016
|
`${this.baseUrl}/embeddings`,
|
|
2810
3017
|
{
|
|
2811
3018
|
input: texts,
|
|
@@ -2832,7 +3039,7 @@ var VoyageEmbeddingProvider = class {
|
|
|
2832
3039
|
} : void 0
|
|
2833
3040
|
};
|
|
2834
3041
|
} catch (error) {
|
|
2835
|
-
if (
|
|
3042
|
+
if (axios13.isAxiosError(error)) {
|
|
2836
3043
|
const status = error.response?.status;
|
|
2837
3044
|
const message = error.response?.data?.message || error.message;
|
|
2838
3045
|
let wrappedError;
|
|
@@ -2871,7 +3078,7 @@ var OllamaEmbeddingProvider = class {
|
|
|
2871
3078
|
const modelToUse = model || this.defaultModel;
|
|
2872
3079
|
return retryWithBackoff2(async () => {
|
|
2873
3080
|
try {
|
|
2874
|
-
const response = await
|
|
3081
|
+
const response = await axios13.post(
|
|
2875
3082
|
`${this.baseUrl}/api/embeddings`,
|
|
2876
3083
|
{
|
|
2877
3084
|
model: modelToUse,
|
|
@@ -2890,7 +3097,7 @@ var OllamaEmbeddingProvider = class {
|
|
|
2890
3097
|
dimensions: embedding.length
|
|
2891
3098
|
};
|
|
2892
3099
|
} catch (error) {
|
|
2893
|
-
if (
|
|
3100
|
+
if (axios13.isAxiosError(error)) {
|
|
2894
3101
|
const status = error.response?.status;
|
|
2895
3102
|
const message = error.response?.data?.error || error.message;
|
|
2896
3103
|
let wrappedError;
|
|
@@ -10360,6 +10567,6 @@ function createAskHumanTool() {
|
|
|
10360
10567
|
}
|
|
10361
10568
|
var askHumanTool = createAskHumanTool();
|
|
10362
10569
|
|
|
10363
|
-
export { AskHumanInputSchema, CalculatorSchema, ConnectionManager, ConnectionState, CreditCardValidatorSchema, CurrentDateTimeSchema, DEFAULT_BATCH_SIZE, DEFAULT_CHUNK_SIZE, DEFAULT_RETRY_CONFIG2 as DEFAULT_RETRY_CONFIG, DateArithmeticSchema, DateComparisonSchema, DateDifferenceSchema, DateFormatterSchema, DuckDuckGoProvider, EmailValidatorSchema, EmbeddingManager, HttpMethod, IpValidatorSchema, MAX_BATCH_SIZE, MathFunctionsSchema, MissingPeerDependencyError, OpenAIEmbeddingProvider, PhoneValidatorSchema, RandomNumberSchema, SchemaInspector, SerperProvider, StatisticsSchema, StringCaseConverterSchema, StringJoinSchema, StringLengthSchema, StringReplaceSchema, StringSplitSchema, StringSubstringSchema, StringTrimSchema, UrlValidatorSimpleSchema, UuidValidatorSchema, archiveConfluencePage, arrayFilter, arrayFilterSchema, arrayGroupBy, arrayGroupBySchema, arrayMap, arrayMapSchema, arraySort, arraySortSchema, askHumanTool, benchmarkBatchExecution, benchmarkStreamingSelectMemory, buildDeleteQuery, buildInsertQuery, buildSelectQuery, buildUpdateQuery, calculator, checkPeerDependency, confluenceTools, createArrayFilterTool, createArrayGroupByTool, createArrayMapTool, createArraySortTool, createAskHumanTool, createCalculatorTool, createConfluencePage, createConfluenceTools, createCreditCardValidatorTool, createCsvGeneratorTool, createCsvParserTool, createCsvToJsonTool, createCsvTools, createCurrentDateTimeTool, createDateArithmeticTool, createDateComparisonTool, createDateDifferenceTool, createDateFormatterTool, createDateTimeTools, createDirectoryCreateTool, createDirectoryDeleteTool, createDirectoryListTool, createDirectoryOperationTools, createDuckDuckGoProvider, createEmailValidatorTool, createExtractImagesTool, createExtractLinksTool, createFileAppendTool, createFileDeleteTool, createFileExistsTool, createFileOperationTools, createFileReaderTool, createFileSearchTool, createFileWriterTool, createHtmlParserTool, createHtmlParserTools, createHttpTools, createIpValidatorTool, createJsonMergeTool, createJsonParserTool, createJsonQueryTool, createJsonStringifyTool, createJsonToCsvTool, createJsonToXmlTool, createJsonTools, createJsonValidatorTool, createMathFunctionsTool, createMathOperationTools, createNeo4jCreateNodeWithEmbeddingTool, createNeo4jFindNodesTool, createNeo4jGetSchemaTool, createNeo4jQueryTool, createNeo4jTools, createNeo4jTraverseTool, createNeo4jVectorSearchTool, createNeo4jVectorSearchWithEmbeddingTool, createObjectOmitTool, createObjectPickTool, createPathBasenameTool, createPathDirnameTool, createPathExtensionTool, createPathJoinTool, createPathNormalizeTool, createPathParseTool, createPathRelativeTool, createPathResolveTool, createPathUtilityTools, createPhoneValidatorTool, createRandomNumberTool, createScraperTools, createSelectReadableStream, createSerperProvider, createSlackTools, createStatisticsTool, createStringCaseConverterTool, createStringJoinTool, createStringLengthTool, createStringReplaceTool, createStringSplitTool, createStringSubstringTool, createStringTrimTool, createStringUtilityTools, createTransformerTools, createUrlBuilderTool, createUrlQueryParserTool, createUrlValidatorSimpleTool, createUrlValidatorTool, createUrlValidatorTools, createUuidValidatorTool, createValidationTools, createWebScraperTool, createXmlGeneratorTool, createXmlParserTool, createXmlToJsonTool, createXmlTools, creditCardValidator, csvGenerator, csvGeneratorSchema, csvParser, csvParserSchema, csvToJson, csvToJsonSchema, csvTools, currentDateTime, dateArithmetic, dateComparison, dateDifference, dateFormatter, dateTimeTools, diffSchemas, directoryCreate, directoryCreateSchema, directoryDelete, directoryDeleteSchema, directoryList, directoryListSchema, directoryOperationTools, emailValidator, embeddingManager, executeBatchedTask, executeQuery2 as executeQuery, executeStreamingSelect, exportSchemaToJson, extractImages, extractImagesSchema, extractLinks, extractLinksSchema, fileAppend, fileAppendSchema, fileDelete, fileDeleteSchema, fileExists, fileExistsSchema, fileOperationTools, fileReader, fileReaderSchema, fileSearch, fileSearchSchema, fileWriter, fileWriterSchema, generateBatchEmbeddings, generateEmbedding, getCohereApiKey, getConfluencePage, getEmbeddingModel, getEmbeddingProvider, getHuggingFaceApiKey, getInstallationInstructions, getOllamaBaseUrl, getOpenAIApiKey, getPeerDependencyName, getSlackChannels, getSlackMessages, getSpacePages, getVendorTypeMap, getVoyageApiKey, htmlParser, htmlParserSchema, htmlParserTools, httpClient, httpGet, httpGetSchema, httpPost, httpPostSchema, httpRequestSchema, httpTools, importSchemaFromJson, initializeEmbeddings, initializeEmbeddingsWithConfig, initializeFromEnv, initializeNeo4jTools, ipValidator, isRetryableError2 as isRetryableError, jsonMerge, jsonMergeSchema, jsonParser, jsonParserSchema, jsonQuery, jsonQuerySchema, jsonStringify, jsonStringifySchema, jsonToCsv, jsonToCsvSchema, jsonToXml, jsonToXmlSchema, jsonTools, jsonValidator, jsonValidatorSchema, listConfluenceSpaces, mapColumnType, mapSchemaTypes, mathFunctions, mathOperationTools, neo4jCoreTools, neo4jCreateNodeWithEmbedding, neo4jCreateNodeWithEmbeddingSchema, neo4jFindNodes, neo4jFindNodesSchema, neo4jGetSchema, neo4jGetSchemaSchema, neo4jPool, neo4jQuery, neo4jQuerySchema, neo4jTools, neo4jTraverse, neo4jTraverseSchema, neo4jVectorSearch, neo4jVectorSearchSchema, neo4jVectorSearchWithEmbedding, neo4jVectorSearchWithEmbeddingSchema, notifySlack, objectOmit, objectOmitSchema, objectPick, objectPickSchema, pathBasename, pathBasenameSchema, pathDirname, pathDirnameSchema, pathExtension, pathExtensionSchema, pathJoin, pathJoinSchema, pathNormalize, pathNormalizeSchema, pathParse, pathParseSchema, pathRelative, pathRelativeSchema, pathResolve, pathResolveSchema, pathUtilityTools, phoneValidator, randomNumber, relationalDelete, relationalGetSchema, relationalInsert, relationalQuery, relationalSelect, relationalUpdate, retryWithBackoff2 as retryWithBackoff, scraperTools, searchConfluence, searchResultSchema, sendSlackMessage, slackTools, statistics, streamSelectChunks, stringCaseConverter, stringJoin, stringLength, stringReplace, stringSplit, stringSubstring, stringTrim, stringUtilityTools, transformerArraySchema, transformerObjectSchema, transformerTools, transformerValueSchema, updateConfluencePage, urlBuilder, urlBuilderSchema, urlQueryParser, urlQueryParserSchema, urlValidator, urlValidatorSchema, urlValidatorSimple, urlValidatorTools, uuidValidator, validateBatch, validateColumnTypes, validateColumnsExist, validateTableExists, validateText, validationTools, webScraper, webScraperSchema, webSearch, webSearchOutputSchema, webSearchSchema, withTransaction, xmlGenerator, xmlGeneratorSchema, xmlParser, xmlParserSchema, xmlToJson, xmlToJsonSchema, xmlTools };
|
|
10570
|
+
export { AskHumanInputSchema, CalculatorSchema, ConnectionManager, ConnectionState, CreditCardValidatorSchema, CurrentDateTimeSchema, DEFAULT_BATCH_SIZE, DEFAULT_CHUNK_SIZE, DEFAULT_DESTINATION_POLICY, DEFAULT_RETRY_CONFIG2 as DEFAULT_RETRY_CONFIG, DateArithmeticSchema, DateComparisonSchema, DateDifferenceSchema, DateFormatterSchema, DestinationPolicyError, DuckDuckGoProvider, EmailValidatorSchema, EmbeddingManager, HttpMethod, IpValidatorSchema, MAX_BATCH_SIZE, MathFunctionsSchema, MissingPeerDependencyError, OpenAIEmbeddingProvider, PhoneValidatorSchema, RandomNumberSchema, SchemaInspector, SerperProvider, StatisticsSchema, StringCaseConverterSchema, StringJoinSchema, StringLengthSchema, StringReplaceSchema, StringSplitSchema, StringSubstringSchema, StringTrimSchema, UrlValidatorSimpleSchema, UuidValidatorSchema, archiveConfluencePage, arrayFilter, arrayFilterSchema, arrayGroupBy, arrayGroupBySchema, arrayMap, arrayMapSchema, arraySort, arraySortSchema, askHumanTool, assertDestinationAllowed, benchmarkBatchExecution, benchmarkStreamingSelectMemory, buildDeleteQuery, buildInsertQuery, buildSelectQuery, buildUpdateQuery, calculator, checkPeerDependency, confluenceTools, createArrayFilterTool, createArrayGroupByTool, createArrayMapTool, createArraySortTool, createAskHumanTool, createCalculatorTool, createConfluencePage, createConfluenceTools, createCreditCardValidatorTool, createCsvGeneratorTool, createCsvParserTool, createCsvToJsonTool, createCsvTools, createCurrentDateTimeTool, createDateArithmeticTool, createDateComparisonTool, createDateDifferenceTool, createDateFormatterTool, createDateTimeTools, createDirectoryCreateTool, createDirectoryDeleteTool, createDirectoryListTool, createDirectoryOperationTools, createDuckDuckGoProvider, createEmailValidatorTool, createExtractImagesTool, createExtractLinksTool, createFileAppendTool, createFileDeleteTool, createFileExistsTool, createFileOperationTools, createFileReaderTool, createFileSearchTool, createFileWriterTool, createHtmlParserTool, createHtmlParserTools, createHttpTools, createIpValidatorTool, createJsonMergeTool, createJsonParserTool, createJsonQueryTool, createJsonStringifyTool, createJsonToCsvTool, createJsonToXmlTool, createJsonTools, createJsonValidatorTool, createMathFunctionsTool, createMathOperationTools, createNeo4jCreateNodeWithEmbeddingTool, createNeo4jFindNodesTool, createNeo4jGetSchemaTool, createNeo4jQueryTool, createNeo4jTools, createNeo4jTraverseTool, createNeo4jVectorSearchTool, createNeo4jVectorSearchWithEmbeddingTool, createObjectOmitTool, createObjectPickTool, createPathBasenameTool, createPathDirnameTool, createPathExtensionTool, createPathJoinTool, createPathNormalizeTool, createPathParseTool, createPathRelativeTool, createPathResolveTool, createPathUtilityTools, createPhoneValidatorTool, createRandomNumberTool, createScraperTools, createSelectReadableStream, createSerperProvider, createSlackTools, createStatisticsTool, createStringCaseConverterTool, createStringJoinTool, createStringLengthTool, createStringReplaceTool, createStringSplitTool, createStringSubstringTool, createStringTrimTool, createStringUtilityTools, createTransformerTools, createUrlBuilderTool, createUrlQueryParserTool, createUrlValidatorSimpleTool, createUrlValidatorTool, createUrlValidatorTools, createUuidValidatorTool, createValidationTools, createWebScraperTool, createXmlGeneratorTool, createXmlParserTool, createXmlToJsonTool, createXmlTools, creditCardValidator, csvGenerator, csvGeneratorSchema, csvParser, csvParserSchema, csvToJson, csvToJsonSchema, csvTools, currentDateTime, dateArithmetic, dateComparison, dateDifference, dateFormatter, dateTimeTools, diffSchemas, directoryCreate, directoryCreateSchema, directoryDelete, directoryDeleteSchema, directoryList, directoryListSchema, directoryOperationTools, emailValidator, embeddingManager, executeBatchedTask, executeQuery2 as executeQuery, executeStreamingSelect, exportSchemaToJson, extractImages, extractImagesSchema, extractLinks, extractLinksSchema, fileAppend, fileAppendSchema, fileDelete, fileDeleteSchema, fileExists, fileExistsSchema, fileOperationTools, fileReader, fileReaderSchema, fileSearch, fileSearchSchema, fileWriter, fileWriterSchema, generateBatchEmbeddings, generateEmbedding, getCohereApiKey, getConfluencePage, getEmbeddingModel, getEmbeddingProvider, getHuggingFaceApiKey, getInstallationInstructions, getOllamaBaseUrl, getOpenAIApiKey, getPeerDependencyName, getSlackChannels, getSlackMessages, getSpacePages, getVendorTypeMap, getVoyageApiKey, htmlParser, htmlParserSchema, htmlParserTools, httpClient, httpGet, httpGetSchema, httpPost, httpPostSchema, httpRequestSchema, httpTools, importSchemaFromJson, initializeEmbeddings, initializeEmbeddingsWithConfig, initializeFromEnv, initializeNeo4jTools, ipValidator, isRetryableError2 as isRetryableError, jsonMerge, jsonMergeSchema, jsonParser, jsonParserSchema, jsonQuery, jsonQuerySchema, jsonStringify, jsonStringifySchema, jsonToCsv, jsonToCsvSchema, jsonToXml, jsonToXmlSchema, jsonTools, jsonValidator, jsonValidatorSchema, listConfluenceSpaces, mapColumnType, mapSchemaTypes, mathFunctions, mathOperationTools, neo4jCoreTools, neo4jCreateNodeWithEmbedding, neo4jCreateNodeWithEmbeddingSchema, neo4jFindNodes, neo4jFindNodesSchema, neo4jGetSchema, neo4jGetSchemaSchema, neo4jPool, neo4jQuery, neo4jQuerySchema, neo4jTools, neo4jTraverse, neo4jTraverseSchema, neo4jVectorSearch, neo4jVectorSearchSchema, neo4jVectorSearchWithEmbedding, neo4jVectorSearchWithEmbeddingSchema, notifySlack, objectOmit, objectOmitSchema, objectPick, objectPickSchema, pathBasename, pathBasenameSchema, pathDirname, pathDirnameSchema, pathExtension, pathExtensionSchema, pathJoin, pathJoinSchema, pathNormalize, pathNormalizeSchema, pathParse, pathParseSchema, pathRelative, pathRelativeSchema, pathResolve, pathResolveSchema, pathUtilityTools, phoneValidator, randomNumber, relationalDelete, relationalGetSchema, relationalInsert, relationalQuery, relationalSelect, relationalUpdate, requestWithDestinationPolicy, retryWithBackoff2 as retryWithBackoff, scraperTools, searchConfluence, searchResultSchema, sendSlackMessage, slackTools, statistics, streamSelectChunks, stringCaseConverter, stringJoin, stringLength, stringReplace, stringSplit, stringSubstring, stringTrim, stringUtilityTools, transformerArraySchema, transformerObjectSchema, transformerTools, transformerValueSchema, updateConfluencePage, urlBuilder, urlBuilderSchema, urlQueryParser, urlQueryParserSchema, urlValidator, urlValidatorSchema, urlValidatorSimple, urlValidatorTools, uuidValidator, validateBatch, validateColumnTypes, validateColumnsExist, validateTableExists, validateText, validationTools, webScraper, webScraperSchema, webSearch, webSearchOutputSchema, webSearchSchema, withTransaction, xmlGenerator, xmlGeneratorSchema, xmlParser, xmlParserSchema, xmlToJson, xmlToJsonSchema, xmlTools };
|
|
10364
10571
|
//# sourceMappingURL=index.js.map
|
|
10365
10572
|
//# sourceMappingURL=index.js.map
|