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 CHANGED
@@ -67,7 +67,7 @@ Start CLI with selected model (default is the first model in the array):
67
67
 
68
68
  ```bash
69
69
  # option 1
70
- ai 1 # to select the second model (Google Gemini)
70
+ ai models 1 # to select the second model (Google Gemini)
71
71
 
72
72
  # option 2
73
73
  export AI_MODEL_INDEX=1
package/bin/ai CHANGED
@@ -1,6 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // Load config first (before any imports that use it)
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 # Run with second model in config
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")
@@ -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?: number;
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 | undefined;
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;;;;;;;;;;;;;6BAOP,CAAC;;;;;;;;;;;;;;;;;;;;;;;;kBANf,CAAC;iBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMI,CAAA"}
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?: number;
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 | undefined;
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;AAKvB,eAAO,MAAM,cAAc;;;;;;;0DAuBtB;QACD,WAAW,EAAE,MAAM,CAAA;QACnB,KAAK,EAAE,MAAM,CAAA;QACb,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B;;;;;;;;;;;;;CAyEF,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 dom = new JSDOM(html, { url });
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
- body: body.slice(0, maxReadBodyLength),
235
+ description: result.description,
236
+ content,
61
237
  };
62
238
  }));
63
- // console.log("[return tool result]");
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: `${JSON.stringify(contents, null, 2)}\n\n[WARNING: Content truncated at current maxReadBodyLength: ${maxReadBodyLength} characters. Increase maxReadBodyLength to see more.]`,
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-agent-test",
3
- "version": "0.5.1",
3
+ "version": "0.5.4",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "ai": "./bin/ai"