ai-agent-test 0.5.1 → 0.5.4
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/README.md +1 -1
- package/bin/ai +11 -10
- package/dist/tools/index.d.ts +4 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/internet_search.d.ts +4 -3
- package/dist/tools/internet_search.d.ts.map +1 -1
- package/dist/tools/internet_search.js +192 -5
- package/dist/tools/internet_search.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/bin/ai
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
//
|
|
3
|
+
// Pass command-line arguments to the main module first
|
|
4
|
+
import { argv } from "process"
|
|
5
|
+
|
|
6
|
+
// Set AI_MODEL_INDEX environment variable if provided via 'models' command
|
|
7
|
+
if (argv[2] === "models" && argv[3]) {
|
|
8
|
+
process.env.AI_MODEL_INDEX = argv[3]
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Load config after setting model index
|
|
4
12
|
import { loadConfig } from "../dist/config.js"
|
|
5
13
|
const config = loadConfig()
|
|
6
14
|
process.env.AI_MODEL_APITYPE = config.modelApiType
|
|
@@ -8,9 +16,6 @@ process.env.AI_MODEL_NAME = config.modelName
|
|
|
8
16
|
process.env.AI_API_BASE_URL = config.apiBaseUrl
|
|
9
17
|
process.env.AI_API_KEY = config.apiKey
|
|
10
18
|
|
|
11
|
-
// Pass command-line arguments to the main module
|
|
12
|
-
import { argv } from "process"
|
|
13
|
-
|
|
14
19
|
// Handle --version command
|
|
15
20
|
if (argv[2] === "--version") {
|
|
16
21
|
import("fs").then(({ readFileSync }) => {
|
|
@@ -33,6 +38,7 @@ if (argv[2] === "--help") {
|
|
|
33
38
|
Usage: ai [options] [model-index]
|
|
34
39
|
|
|
35
40
|
Commands:
|
|
41
|
+
models <idx> Run with model at index <idx> from config
|
|
36
42
|
sessions ls List last 20 sessions
|
|
37
43
|
sessions <idx> Load and restart from session <idx>
|
|
38
44
|
update Update the ai-agent-test package to the latest version
|
|
@@ -44,7 +50,7 @@ Arguments:
|
|
|
44
50
|
|
|
45
51
|
Examples:
|
|
46
52
|
ai # Run with default model
|
|
47
|
-
ai 1
|
|
53
|
+
ai models 1 # Run with second model in config
|
|
48
54
|
ai sessions ls # List last 20 sessions
|
|
49
55
|
ai sessions 2 # Load and restart from session 2
|
|
50
56
|
ai update # Update to latest version
|
|
@@ -116,9 +122,4 @@ if (argv[2] === "sessions") {
|
|
|
116
122
|
)
|
|
117
123
|
}
|
|
118
124
|
|
|
119
|
-
// Set AI_MODEL_INDEX environment variable if provided as first argument
|
|
120
|
-
if (argv[2]) {
|
|
121
|
-
process.env.AI_MODEL_INDEX = argv[2]
|
|
122
|
-
}
|
|
123
|
-
|
|
124
125
|
import("../dist/index.js")
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -49,12 +49,12 @@ export declare const tools: {
|
|
|
49
49
|
inputSchema: import("zod").ZodObject<{
|
|
50
50
|
query: import("zod").ZodString;
|
|
51
51
|
searchCount: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNumber>>;
|
|
52
|
-
maxReadBodyLength: import("zod").ZodNumber
|
|
52
|
+
maxReadBodyLength: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
53
53
|
}, import("zod/v4/core").$strip>;
|
|
54
54
|
execute: ({ searchCount, query, maxReadBodyLength, }: {
|
|
55
55
|
searchCount: number;
|
|
56
56
|
query: string;
|
|
57
|
-
maxReadBodyLength
|
|
57
|
+
maxReadBodyLength: number;
|
|
58
58
|
}) => Promise<{
|
|
59
59
|
success: boolean;
|
|
60
60
|
error: string;
|
|
@@ -64,7 +64,8 @@ export declare const tools: {
|
|
|
64
64
|
success: boolean;
|
|
65
65
|
output: string;
|
|
66
66
|
metadata: {
|
|
67
|
-
maxReadBodyLength: number
|
|
67
|
+
maxReadBodyLength: number;
|
|
68
|
+
resultCount: number;
|
|
68
69
|
};
|
|
69
70
|
error?: never;
|
|
70
71
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,SAAS;;;;;;;;;CASZ,CAAA;AAEV,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAEM,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,SAAS;;;;;;;;;CASZ,CAAA;AAEV,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAEM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBACrB,CAAC;iBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMI,CAAA"}
|
|
@@ -4,12 +4,12 @@ export declare const internetSearch: {
|
|
|
4
4
|
inputSchema: z.ZodObject<{
|
|
5
5
|
query: z.ZodString;
|
|
6
6
|
searchCount: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
7
|
-
maxReadBodyLength: z.ZodNumber
|
|
7
|
+
maxReadBodyLength: z.ZodDefault<z.ZodNumber>;
|
|
8
8
|
}, z.core.$strip>;
|
|
9
9
|
execute: ({ searchCount, query, maxReadBodyLength, }: {
|
|
10
10
|
searchCount: number;
|
|
11
11
|
query: string;
|
|
12
|
-
maxReadBodyLength
|
|
12
|
+
maxReadBodyLength: number;
|
|
13
13
|
}) => Promise<{
|
|
14
14
|
success: boolean;
|
|
15
15
|
error: string;
|
|
@@ -19,7 +19,8 @@ export declare const internetSearch: {
|
|
|
19
19
|
success: boolean;
|
|
20
20
|
output: string;
|
|
21
21
|
metadata: {
|
|
22
|
-
maxReadBodyLength: number
|
|
22
|
+
maxReadBodyLength: number;
|
|
23
|
+
resultCount: number;
|
|
23
24
|
};
|
|
24
25
|
error?: never;
|
|
25
26
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internet_search.d.ts","sourceRoot":"","sources":["../../src/tools/internet_search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"internet_search.d.ts","sourceRoot":"","sources":["../../src/tools/internet_search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA+NvB,eAAO,MAAM,cAAc;;;;;;;0DAwBtB;QACD,WAAW,EAAE,MAAM,CAAA;QACnB,KAAK,EAAE,MAAM,CAAA;QACb,iBAAiB,EAAE,MAAM,CAAA;KAC1B;;;;;;;;;;;;;;CA2FF,CAAA"}
|
|
@@ -2,6 +2,181 @@ import { z } from "zod";
|
|
|
2
2
|
import { JSDOM } from "jsdom";
|
|
3
3
|
import { assert } from "console";
|
|
4
4
|
import chalk from "chalk";
|
|
5
|
+
const CONTENT_CANDIDATE_SELECTORS = [
|
|
6
|
+
"article",
|
|
7
|
+
"main",
|
|
8
|
+
"[role='main']",
|
|
9
|
+
"#content",
|
|
10
|
+
".content",
|
|
11
|
+
".main-content",
|
|
12
|
+
".post-content",
|
|
13
|
+
".entry-content",
|
|
14
|
+
".article-content",
|
|
15
|
+
];
|
|
16
|
+
const NOISE_SELECTORS = [
|
|
17
|
+
"script",
|
|
18
|
+
"style",
|
|
19
|
+
"noscript",
|
|
20
|
+
"iframe",
|
|
21
|
+
"svg",
|
|
22
|
+
"canvas",
|
|
23
|
+
"form",
|
|
24
|
+
"nav",
|
|
25
|
+
"header",
|
|
26
|
+
"footer",
|
|
27
|
+
"aside",
|
|
28
|
+
"dialog",
|
|
29
|
+
"button",
|
|
30
|
+
"input",
|
|
31
|
+
"select",
|
|
32
|
+
"textarea",
|
|
33
|
+
"[role='banner']",
|
|
34
|
+
"[role='navigation']",
|
|
35
|
+
"[role='complementary']",
|
|
36
|
+
"[role='dialog']",
|
|
37
|
+
"[aria-hidden='true']",
|
|
38
|
+
"[hidden]",
|
|
39
|
+
".nav",
|
|
40
|
+
".navbar",
|
|
41
|
+
".menu",
|
|
42
|
+
".sidebar",
|
|
43
|
+
".footer",
|
|
44
|
+
".header",
|
|
45
|
+
".advertisement",
|
|
46
|
+
".ads",
|
|
47
|
+
".cookie",
|
|
48
|
+
".newsletter",
|
|
49
|
+
".share",
|
|
50
|
+
".social",
|
|
51
|
+
".popup",
|
|
52
|
+
".modal",
|
|
53
|
+
];
|
|
54
|
+
function collapseWhitespace(text) {
|
|
55
|
+
return text.replace(/\s+/g, " ").trim();
|
|
56
|
+
}
|
|
57
|
+
function cleanInlineText(text) {
|
|
58
|
+
return text
|
|
59
|
+
.replace(/[ \t]+/g, " ")
|
|
60
|
+
.replace(/\n{3,}/g, "\n\n")
|
|
61
|
+
.replace(/[ \t]+\n/g, "\n")
|
|
62
|
+
.replace(/\n[ \t]+/g, "\n")
|
|
63
|
+
.trim();
|
|
64
|
+
}
|
|
65
|
+
function removeNoise(root) {
|
|
66
|
+
for (const selector of NOISE_SELECTORS) {
|
|
67
|
+
root.querySelectorAll(selector).forEach((element) => element.remove());
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function scoreContentCandidate(element) {
|
|
71
|
+
const textLength = collapseWhitespace(element.textContent || "").length;
|
|
72
|
+
const paragraphCount = element.querySelectorAll("p").length;
|
|
73
|
+
const headingCount = element.querySelectorAll("h1, h2, h3").length;
|
|
74
|
+
return textLength + paragraphCount * 120 + headingCount * 80;
|
|
75
|
+
}
|
|
76
|
+
function pickContentRoot(document) {
|
|
77
|
+
const candidates = CONTENT_CANDIDATE_SELECTORS.flatMap((selector) => Array.from(document.querySelectorAll(selector)));
|
|
78
|
+
const bestCandidate = candidates
|
|
79
|
+
.map((element) => ({ element, score: scoreContentCandidate(element) }))
|
|
80
|
+
.sort((left, right) => right.score - left.score)[0];
|
|
81
|
+
return bestCandidate?.element || document.body;
|
|
82
|
+
}
|
|
83
|
+
function renderNode(node) {
|
|
84
|
+
if (node.nodeType === node.TEXT_NODE) {
|
|
85
|
+
return collapseWhitespace(node.textContent || "");
|
|
86
|
+
}
|
|
87
|
+
if (!(node instanceof node.ownerDocument.defaultView.HTMLElement)) {
|
|
88
|
+
return "";
|
|
89
|
+
}
|
|
90
|
+
const element = node;
|
|
91
|
+
const tagName = element.tagName.toLowerCase();
|
|
92
|
+
const renderedChildren = Array.from(element.childNodes)
|
|
93
|
+
.map((child) => renderNode(child))
|
|
94
|
+
.join("");
|
|
95
|
+
if (tagName === "br") {
|
|
96
|
+
return "\n";
|
|
97
|
+
}
|
|
98
|
+
if (tagName === "hr") {
|
|
99
|
+
return "\n---\n\n";
|
|
100
|
+
}
|
|
101
|
+
if (tagName === "a") {
|
|
102
|
+
const text = collapseWhitespace(renderedChildren || element.textContent || "");
|
|
103
|
+
const href = element.getAttribute("href") || "";
|
|
104
|
+
if (!text) {
|
|
105
|
+
return "";
|
|
106
|
+
}
|
|
107
|
+
if (!href || href.startsWith("#")) {
|
|
108
|
+
return text;
|
|
109
|
+
}
|
|
110
|
+
return `[${text}](${href})`;
|
|
111
|
+
}
|
|
112
|
+
if (tagName === "code" &&
|
|
113
|
+
element.parentElement?.tagName.toLowerCase() !== "pre") {
|
|
114
|
+
const text = collapseWhitespace(element.textContent || "");
|
|
115
|
+
return text ? `\`${text}\`` : "";
|
|
116
|
+
}
|
|
117
|
+
if (tagName === "pre") {
|
|
118
|
+
const text = (element.textContent || "").trim();
|
|
119
|
+
return text ? `\n\n\`\`\`\n${text}\n\`\`\`\n\n` : "";
|
|
120
|
+
}
|
|
121
|
+
if (/^h[1-6]$/.test(tagName)) {
|
|
122
|
+
const level = Number(tagName[1]);
|
|
123
|
+
const text = collapseWhitespace(renderedChildren || element.textContent || "");
|
|
124
|
+
return text ? `\n\n${"#".repeat(level)} ${text}\n\n` : "";
|
|
125
|
+
}
|
|
126
|
+
if (tagName === "p") {
|
|
127
|
+
const text = cleanInlineText(renderedChildren);
|
|
128
|
+
return text ? `${text}\n\n` : "";
|
|
129
|
+
}
|
|
130
|
+
if (tagName === "blockquote") {
|
|
131
|
+
const text = cleanInlineText(renderedChildren);
|
|
132
|
+
return text
|
|
133
|
+
? `${text
|
|
134
|
+
.split("\n")
|
|
135
|
+
.map((line) => `> ${line}`)
|
|
136
|
+
.join("\n")}\n\n`
|
|
137
|
+
: "";
|
|
138
|
+
}
|
|
139
|
+
if (tagName === "li") {
|
|
140
|
+
const text = cleanInlineText(renderedChildren);
|
|
141
|
+
return text ? `- ${text}\n` : "";
|
|
142
|
+
}
|
|
143
|
+
if (tagName === "ul" || tagName === "ol") {
|
|
144
|
+
const text = cleanInlineText(renderedChildren);
|
|
145
|
+
return text ? `${text}\n` : "";
|
|
146
|
+
}
|
|
147
|
+
if (tagName === "table") {
|
|
148
|
+
const rows = Array.from(element.querySelectorAll("tr"))
|
|
149
|
+
.map((row) => Array.from(row.querySelectorAll("th, td"))
|
|
150
|
+
.map((cell) => collapseWhitespace(cell.textContent || ""))
|
|
151
|
+
.filter(Boolean)
|
|
152
|
+
.join(" | "))
|
|
153
|
+
.filter(Boolean);
|
|
154
|
+
return rows.length > 0 ? `${rows.join("\n")}\n\n` : "";
|
|
155
|
+
}
|
|
156
|
+
if (["section", "article", "main", "div"].includes(tagName)) {
|
|
157
|
+
const text = cleanInlineText(renderedChildren);
|
|
158
|
+
return text ? `${text}\n\n` : "";
|
|
159
|
+
}
|
|
160
|
+
return renderedChildren;
|
|
161
|
+
}
|
|
162
|
+
function extractMarkdownFromHtml(html, pageUrl) {
|
|
163
|
+
const dom = new JSDOM(html, { url: pageUrl });
|
|
164
|
+
const { document } = dom.window;
|
|
165
|
+
removeNoise(document);
|
|
166
|
+
const contentRoot = pickContentRoot(document);
|
|
167
|
+
removeNoise(contentRoot);
|
|
168
|
+
return cleanInlineText(renderNode(contentRoot));
|
|
169
|
+
}
|
|
170
|
+
function truncateContent(content, maxLength) {
|
|
171
|
+
if (content.length <= maxLength) {
|
|
172
|
+
return content;
|
|
173
|
+
}
|
|
174
|
+
const truncated = content.slice(0, maxLength);
|
|
175
|
+
const lastParagraphBreak = truncated.lastIndexOf("\n\n");
|
|
176
|
+
const lastSentenceBreak = Math.max(truncated.lastIndexOf(". "), truncated.lastIndexOf("! "), truncated.lastIndexOf("? "));
|
|
177
|
+
const cutIndex = Math.max(lastParagraphBreak, lastSentenceBreak);
|
|
178
|
+
return `${truncated.slice(0, cutIndex > maxLength * 0.6 ? cutIndex + 1 : maxLength).trim()}\n\n[truncated]`;
|
|
179
|
+
}
|
|
5
180
|
export const internetSearch = {
|
|
6
181
|
description: "Search the internet. IMPORTANT: If the 'output' is truncated or missing key details, call this tool again with a significantly higher 'maxReadBodyLength' (e.g., 5000 or 10000) to see more content.",
|
|
7
182
|
inputSchema: z.object({
|
|
@@ -14,6 +189,7 @@ export const internetSearch = {
|
|
|
14
189
|
.describe("Number of search results to return (default 3, max 5). More results may provide more information but will take longer to fetch and process."),
|
|
15
190
|
maxReadBodyLength: z
|
|
16
191
|
.number()
|
|
192
|
+
.default(2500)
|
|
17
193
|
.describe("Number of characters to return from the fetched webpage body content. recommend to start with 2500"),
|
|
18
194
|
}),
|
|
19
195
|
execute: async ({ searchCount, query, maxReadBodyLength, }) => {
|
|
@@ -52,20 +228,31 @@ export const internetSearch = {
|
|
|
52
228
|
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
|
|
53
229
|
},
|
|
54
230
|
}).then((res) => res.text());
|
|
55
|
-
const
|
|
56
|
-
const body = dom.window.document.body.textContent || "";
|
|
231
|
+
const content = truncateContent(extractMarkdownFromHtml(html, result.url), maxReadBodyLength);
|
|
57
232
|
return {
|
|
58
233
|
url: result.url,
|
|
59
234
|
title: result.title,
|
|
60
|
-
|
|
235
|
+
description: result.description,
|
|
236
|
+
content,
|
|
61
237
|
};
|
|
62
238
|
}));
|
|
63
|
-
|
|
239
|
+
const output = contents
|
|
240
|
+
.map((result, index) => [
|
|
241
|
+
`## Result ${index + 1}: ${result.title}`,
|
|
242
|
+
`URL: ${result.url}`,
|
|
243
|
+
result.description ? `Summary: ${result.description}` : "",
|
|
244
|
+
"",
|
|
245
|
+
result.content,
|
|
246
|
+
]
|
|
247
|
+
.filter(Boolean)
|
|
248
|
+
.join("\n"))
|
|
249
|
+
.join("\n\n---\n\n");
|
|
64
250
|
return {
|
|
65
251
|
success: true,
|
|
66
|
-
output: `${
|
|
252
|
+
output: `${output}\n\n[Content limited to about ${maxReadBodyLength} characters per page. Increase maxReadBodyLength if needed.]`,
|
|
67
253
|
metadata: {
|
|
68
254
|
maxReadBodyLength,
|
|
255
|
+
resultCount: contents.length,
|
|
69
256
|
},
|
|
70
257
|
};
|
|
71
258
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internet_search.js","sourceRoot":"","sources":["../../src/tools/internet_search.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"internet_search.js","sourceRoot":"","sources":["../../src/tools/internet_search.ts"],"names":[],"mappings":"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"}
|