@bini-bar-labs/atomic-web-agent-core 1.0.1 → 1.0.2
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 +79 -0
- package/dist/AWAgent/AWAgent.d.ts +4 -0
- package/dist/AWAgent/AWAgent.d.ts.map +1 -1
- package/dist/AWAgent/AWAgent.js +109 -7
- package/dist/AWAgent/AWAgent.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/extract-data.tool.d.ts +9 -0
- package/dist/tools/extract-data.tool.d.ts.map +1 -0
- package/dist/tools/extract-data.tool.js +23 -0
- package/dist/tools/extract-data.tool.js.map +1 -0
- package/dist/tools/get-DOM-snapshot.tool.d.ts +1 -1
- package/dist/tools/get-DOM-snapshot.tool.js +2 -2
- package/dist/tools/get-DOM-snapshot.tool.js.map +1 -1
- package/dist/tools/navigate.tool.js +1 -1
- package/dist/tools/navigate.tool.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -81,6 +81,81 @@ const isCheckoutReady = await agent.test(
|
|
|
81
81
|
- **Avoid subjective interpretations**: Use concrete, verifiable conditions
|
|
82
82
|
- **Keep it atomic**: Test one condition at a time for clearer results
|
|
83
83
|
|
|
84
|
+
## Data Extraction
|
|
85
|
+
|
|
86
|
+
The `extract()` method enables you to extract structured data from webpages using Zod schemas. It returns typed data that matches your schema.
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
import { z } from "zod";
|
|
90
|
+
|
|
91
|
+
// Define your data schema
|
|
92
|
+
const productSchema = z.object({
|
|
93
|
+
title: z.string().describe("The product title"),
|
|
94
|
+
price: z.number().describe("The product price in dollars"),
|
|
95
|
+
description: z.string().describe("The product description"),
|
|
96
|
+
inStock: z.boolean().describe("Whether the product is in stock"),
|
|
97
|
+
rating: z.number().optional().describe("Product rating out of 5"),
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
type Product = z.infer<typeof productSchema>;
|
|
101
|
+
|
|
102
|
+
// Extract data from the page
|
|
103
|
+
const product = await agent.extract<Product>(
|
|
104
|
+
productSchema,
|
|
105
|
+
"Extract product information from this page"
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
console.log(product);
|
|
109
|
+
// { title: "...", price: 99.99, description: "...", inStock: true, rating: 4.5 }
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### More Examples
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
// Extract multiple items (array)
|
|
116
|
+
const itemsSchema = z.object({
|
|
117
|
+
items: z.array(
|
|
118
|
+
z.object({
|
|
119
|
+
name: z.string(),
|
|
120
|
+
price: z.number(),
|
|
121
|
+
})
|
|
122
|
+
),
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
const data = await agent.extract(itemsSchema);
|
|
126
|
+
|
|
127
|
+
// Extract user profile
|
|
128
|
+
const profileSchema = z.object({
|
|
129
|
+
name: z.string(),
|
|
130
|
+
email: z.string().email(),
|
|
131
|
+
age: z.number().optional(),
|
|
132
|
+
isVerified: z.boolean(),
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
const profile = await agent.extract(profileSchema);
|
|
136
|
+
|
|
137
|
+
// Extract with custom instructions
|
|
138
|
+
const statsSchema = z.object({
|
|
139
|
+
visitors: z.number(),
|
|
140
|
+
pageViews: z.number(),
|
|
141
|
+
bounceRate: z.number(),
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
const stats = await agent.extract(
|
|
145
|
+
statsSchema,
|
|
146
|
+
"Look for the analytics dashboard section and extract the key metrics displayed"
|
|
147
|
+
);
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Features
|
|
151
|
+
|
|
152
|
+
- **Type-safe**: Full TypeScript support with automatic type inference
|
|
153
|
+
- **Schema validation**: Extracted data is validated against your Zod schema
|
|
154
|
+
- **Native structured output**: Uses LangChain's `providerStrategy` for efficient extraction via model provider's native structured output capability
|
|
155
|
+
- **Automatic field detection**: AI determines how to extract each field
|
|
156
|
+
- **Flexible**: Works with complex nested schemas
|
|
157
|
+
- **Error handling**: Clear validation errors if data doesn't match schema
|
|
158
|
+
|
|
84
159
|
## API Reference
|
|
85
160
|
|
|
86
161
|
### AWAgent
|
|
@@ -107,6 +182,7 @@ new AWAgent(
|
|
|
107
182
|
- `init(launchOptions?: LaunchOptions, contextOptions?: BrowserContextOptions): Promise<void>` - Initialize the browser and agent
|
|
108
183
|
- `run(message: string): Promise<void>` - Execute a task with the agent
|
|
109
184
|
- `test(condition: string): Promise<boolean>` - Validate a condition on the current page and return true/false
|
|
185
|
+
- `extract<T>(schema: z.ZodSchema<T>, instructions?: string): Promise<T>` - Extract structured data from the page using a Zod schema
|
|
110
186
|
- `close(): Promise<void>` - Close the browser and clean up resources
|
|
111
187
|
|
|
112
188
|
### Exports
|
|
@@ -118,6 +194,7 @@ export { createTool } from "@bini-bar-labs/atomic-web-agent-core";
|
|
|
118
194
|
export { type AgentTool } from "@bini-bar-labs/atomic-web-agent-core";
|
|
119
195
|
export { ElementLocatorRegistry } from "@bini-bar-labs/atomic-web-agent-core";
|
|
120
196
|
export { validateConditionTool } from "@bini-bar-labs/atomic-web-agent-core";
|
|
197
|
+
export { extractDataTool } from "@bini-bar-labs/atomic-web-agent-core";
|
|
121
198
|
export {
|
|
122
199
|
type ElementSnapshot,
|
|
123
200
|
type PageSnapshot,
|
|
@@ -138,6 +215,8 @@ The agent comes with several pre-configured tools:
|
|
|
138
215
|
- **Console Print**: Output messages to console
|
|
139
216
|
- **Validation**: Return validation results (used by `test()` method)
|
|
140
217
|
|
|
218
|
+
Note: The `extract()` method uses native structured output via LangChain's `providerStrategy` rather than a custom tool, allowing for more efficient data extraction directly from the model provider.
|
|
219
|
+
|
|
141
220
|
### DOM Snapshot with Custom Elements
|
|
142
221
|
|
|
143
222
|
The DOM Snapshot tool is intelligent and can include additional HTML elements beyond the default interactive elements. The AI can request specific tags to be included in the snapshot.
|
|
@@ -2,6 +2,7 @@ import { ChatAnthropic } from "@langchain/anthropic";
|
|
|
2
2
|
import { ChatOpenAI } from "@langchain/openai";
|
|
3
3
|
import { Tool } from "langchain";
|
|
4
4
|
import { type BrowserContextOptions, type LaunchOptions, type Page } from "playwright";
|
|
5
|
+
import { z } from "zod";
|
|
5
6
|
import { ElementLocatorRegistry } from "../tools/utils/element-registry.util.js";
|
|
6
7
|
import type { AgentTool } from "./AWAgent.types.js";
|
|
7
8
|
export declare class AWAgent {
|
|
@@ -30,8 +31,11 @@ export declare class AWAgent {
|
|
|
30
31
|
getAllPages(): Page[];
|
|
31
32
|
do(task: string): Promise<void>;
|
|
32
33
|
test(condition: string): Promise<boolean>;
|
|
34
|
+
extract<T>(instructions: string, schema: z.ZodSchema<T>): Promise<T>;
|
|
33
35
|
close(): Promise<void>;
|
|
34
36
|
private extractValidationResult;
|
|
37
|
+
private generateSchemaDescription;
|
|
38
|
+
private extractStructuredOutput;
|
|
35
39
|
private createTools;
|
|
36
40
|
}
|
|
37
41
|
//# sourceMappingURL=AWAgent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWAgent.d.ts","sourceRoot":"","sources":["../../src/AWAgent/AWAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"AWAgent.d.ts","sourceRoot":"","sources":["../../src/AWAgent/AWAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAQL,IAAI,EAEL,MAAM,WAAW,CAAC;AACnB,OAAO,EAGL,KAAK,qBAAqB,EAE1B,KAAK,aAAa,EAClB,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD,qBAAa,OAAO;IAClB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,aAAa,CAKnB;IACF,OAAO,CAAC,WAAW,CAAgC;gBAGjD,KAAK,EAAE,aAAa,GAAG,UAAU,EACjC,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvC,aAAa,CAAC,EAAE;YACd,kBAAkB,CAAC,EAAE,CACnB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,sBAAsB,KAC7B,SAAS,CAAC;SAChB,CAAC;KACH;IASG,IAAI,CACR,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,cAAc,CAAC,EAAE,qBAAqB,CAAC;KACxC;IAWG,OAAO;IASb,cAAc;IAOd,WAAW;IAQL,EAAE,CAAC,IAAI,EAAE,MAAM;IA0Cf,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiDzC,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsDpE,KAAK;IAeX,OAAO,CAAC,uBAAuB;IA+C/B,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,uBAAuB;IAwD/B,OAAO,CAAC,WAAW;CAiBpB"}
|
package/dist/AWAgent/AWAgent.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { ChatAnthropic } from "@langchain/anthropic";
|
|
2
2
|
import { ChatOpenAI } from "@langchain/openai";
|
|
3
|
-
import { createAgent, HumanMessage, SystemMessage, Tool, ToolMessage,
|
|
3
|
+
import { AIMessage, createAgent, HumanMessage, providerStrategy, SystemMessage, Tool, ToolMessage, } from "langchain";
|
|
4
4
|
import { chromium, } from "playwright";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
5
7
|
import { clickByElementIdTool } from "../tools/click-by-element-id.tool.js";
|
|
6
|
-
import { clickByPositionTool } from "../tools/click-by-position.tool.js";
|
|
7
8
|
import { getDOMSnapshotTool } from "../tools/get-DOM-snapshot.tool.js";
|
|
8
|
-
import { getPageScreenShotTool } from "../tools/get-page-screenshot.tool.js";
|
|
9
9
|
import { inputByElementIdTool } from "../tools/input-by-element-id.tool.js";
|
|
10
10
|
import { navigateTool } from "../tools/navigate.tool.js";
|
|
11
11
|
import { printToConsoleTool } from "../tools/print-to-console.tool.js";
|
|
12
|
-
import { validateConditionTool } from "../tools/validate-condition.tool.js";
|
|
13
12
|
import { ElementLocatorRegistry } from "../tools/utils/element-registry.util.js";
|
|
13
|
+
import { validateConditionTool } from "../tools/validate-condition.tool.js";
|
|
14
14
|
import { waitTool } from "../tools/wait.tool.js";
|
|
15
15
|
import { loggingMiddleware } from "./middlewares/logging-calls.middleware.js";
|
|
16
16
|
import { trimMessagesHistoryMiddleware } from "./middlewares/trim-messages-history.middleware.js";
|
|
@@ -68,10 +68,25 @@ export class AWAgent {
|
|
|
68
68
|
}
|
|
69
69
|
if (!this.agent) {
|
|
70
70
|
const tools = this.createTools(this.currentPageContext);
|
|
71
|
+
// Enhance system message with behavioral guidelines
|
|
72
|
+
const baseMessage = typeof this.systemMessage.content === "string"
|
|
73
|
+
? this.systemMessage.content
|
|
74
|
+
: JSON.stringify(this.systemMessage.content);
|
|
75
|
+
const enhancedSystemPrompt = new SystemMessage(`${baseMessage}
|
|
76
|
+
|
|
77
|
+
IMPORTANT BEHAVIORAL GUIDELINES:
|
|
78
|
+
1. You are operating on a browser page. ALWAYS start by using GetDOMSnapshot to see what page you're currently on and what's available.
|
|
79
|
+
2. Be PROACTIVE and take ACTION immediately. Do NOT ask the user clarifying questions unless absolutely necessary.
|
|
80
|
+
3. If you're already on a website and the user asks to navigate to a section (e.g., "go to men's shoes"), use the available page elements to navigate within the current site.
|
|
81
|
+
4. Use ClickByElementId to click on links, buttons, or navigation elements that match the user's intent.
|
|
82
|
+
5. If you need more context about the page, use GetDOMSnapshot with extra tags like ["a", "nav", "h1", "h2"] to see navigation links and headings.
|
|
83
|
+
6. Only use NavigateToURL if you need to go to a completely different website with a specific URL.
|
|
84
|
+
7. Execute the task directly based on what you observe on the page. Be decisive.
|
|
85
|
+
8. If you cannot complete the task with the available tools and page elements, explain why clearly.`);
|
|
71
86
|
const agent = createAgent({
|
|
72
87
|
model: this.model,
|
|
73
88
|
tools: tools,
|
|
74
|
-
systemPrompt:
|
|
89
|
+
systemPrompt: enhancedSystemPrompt,
|
|
75
90
|
middleware: [loggingMiddleware, trimMessagesHistoryMiddleware],
|
|
76
91
|
});
|
|
77
92
|
this.agent = agent;
|
|
@@ -118,6 +133,45 @@ Your final action MUST be to call ReturnValidationResult. Do not continue after
|
|
|
118
133
|
const result = this.extractValidationResult(response.messages);
|
|
119
134
|
return result;
|
|
120
135
|
}
|
|
136
|
+
async extract(instructions, schema) {
|
|
137
|
+
if (!this.currentPageContext) {
|
|
138
|
+
throw new Error("Agent is not initialized");
|
|
139
|
+
}
|
|
140
|
+
// Create tools for extraction (without the extractDataTool)
|
|
141
|
+
const extractionTools = this.createTools(this.currentPageContext);
|
|
142
|
+
// Generate schema description for the AI
|
|
143
|
+
const schemaDescription = this.generateSchemaDescription(schema);
|
|
144
|
+
const extractionSystemPrompt = new SystemMessage(`You are a webpage data extraction agent. Your task is to extract structured data from the current webpage according to a specific schema.
|
|
145
|
+
|
|
146
|
+
Instructions:
|
|
147
|
+
1. Use GetDOMSnapshot to examine the page structure. Include extra tags if needed (e.g., ["p", "span", "h1"] for text content)
|
|
148
|
+
2. If needed, use GetPageScreenShot for visual confirmation
|
|
149
|
+
3. Analyze the page content and extract the required data fields according to the schema
|
|
150
|
+
4. Return the extracted data in your final response
|
|
151
|
+
|
|
152
|
+
Additional instructions: ${instructions}\n\n
|
|
153
|
+
Data Schema: ${schemaDescription}
|
|
154
|
+
|
|
155
|
+
Be precise and accurate. Extract only the data that is clearly present on the page.
|
|
156
|
+
If a field is not found or cannot be determined, use null for optional fields or your best judgment for required fields.`);
|
|
157
|
+
const extractionAgent = createAgent({
|
|
158
|
+
model: this.model,
|
|
159
|
+
tools: extractionTools,
|
|
160
|
+
systemPrompt: extractionSystemPrompt,
|
|
161
|
+
// No middleware - incompatible with structured output (providerStrategy)
|
|
162
|
+
responseFormat: providerStrategy(schema),
|
|
163
|
+
});
|
|
164
|
+
const response = await extractionAgent.invoke({
|
|
165
|
+
messages: [
|
|
166
|
+
new HumanMessage(`Extract data from the current page according to the schema.`),
|
|
167
|
+
],
|
|
168
|
+
}, {
|
|
169
|
+
recursionLimit: 15, // Limit iterations to prevent infinite loops
|
|
170
|
+
});
|
|
171
|
+
// Extract the structured output from the response
|
|
172
|
+
const extractedData = this.extractStructuredOutput(response, schema);
|
|
173
|
+
return extractedData;
|
|
174
|
+
}
|
|
121
175
|
async close() {
|
|
122
176
|
if (this.context) {
|
|
123
177
|
for (const page of this.context.pages()) {
|
|
@@ -164,6 +218,54 @@ Your final action MUST be to call ReturnValidationResult. Do not continue after
|
|
|
164
218
|
}
|
|
165
219
|
throw new Error("Validation result not found in agent response. The agent did not call ReturnValidationResult.");
|
|
166
220
|
}
|
|
221
|
+
generateSchemaDescription(schema) {
|
|
222
|
+
// Convert Zod schema to JSON Schema for a clear, standard representation
|
|
223
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument
|
|
224
|
+
const jsonSchema = zodToJsonSchema(schema, "extractionSchema");
|
|
225
|
+
return JSON.stringify(jsonSchema, null, 2);
|
|
226
|
+
}
|
|
227
|
+
extractStructuredOutput(response, schema) {
|
|
228
|
+
// With providerStrategy, the structured output should be in the last message
|
|
229
|
+
const lastMessage = response.messages[response.messages.length - 1];
|
|
230
|
+
if (lastMessage instanceof AIMessage) {
|
|
231
|
+
try {
|
|
232
|
+
// The structured output is typically in message.content or message.additional_kwargs
|
|
233
|
+
let structuredData;
|
|
234
|
+
// Check if content is already an object (structured output)
|
|
235
|
+
if (typeof lastMessage.content === "object" &&
|
|
236
|
+
lastMessage.content !== null) {
|
|
237
|
+
structuredData = lastMessage.content;
|
|
238
|
+
}
|
|
239
|
+
// Check additional_kwargs for structured output
|
|
240
|
+
else if (lastMessage.additional_kwargs?.structured_output) {
|
|
241
|
+
structuredData = lastMessage.additional_kwargs.structured_output;
|
|
242
|
+
}
|
|
243
|
+
// Try parsing content as JSON
|
|
244
|
+
else if (typeof lastMessage.content === "string") {
|
|
245
|
+
try {
|
|
246
|
+
structuredData = JSON.parse(lastMessage.content);
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
throw new Error("Could not parse structured output from response");
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
// Validate the extracted data against the schema
|
|
253
|
+
const validatedData = schema.parse(structuredData);
|
|
254
|
+
console.log("Data extracted and validated successfully");
|
|
255
|
+
return validatedData;
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
if (error instanceof z.ZodError) {
|
|
259
|
+
const errorMessages = error.issues
|
|
260
|
+
.map((e) => `${e.path.join(".")}: ${e.message}`)
|
|
261
|
+
.join(", ");
|
|
262
|
+
throw new Error(`Extracted data validation failed: ${errorMessages}`);
|
|
263
|
+
}
|
|
264
|
+
throw new Error(`Failed to extract structured output: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
throw new Error("No structured output found in agent response. Expected an AI message with structured data.");
|
|
268
|
+
}
|
|
167
269
|
createTools(page) {
|
|
168
270
|
return [
|
|
169
271
|
// Element ID-based tools (recommended for use with accessibility snapshots)
|
|
@@ -175,8 +277,8 @@ Your final action MUST be to call ReturnValidationResult. Do not continue after
|
|
|
175
277
|
// Other utility tools
|
|
176
278
|
waitTool(),
|
|
177
279
|
navigateTool(page),
|
|
178
|
-
getPageScreenShotTool(page),
|
|
179
|
-
clickByPositionTool(page),
|
|
280
|
+
// getPageScreenShotTool(page),
|
|
281
|
+
// clickByPositionTool(page),
|
|
180
282
|
printToConsoleTool(),
|
|
181
283
|
...this.customTools.map((buildTool) => buildTool(page)),
|
|
182
284
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWAgent.js","sourceRoot":"","sources":["../../src/AWAgent/AWAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,YAAY,
|
|
1
|
+
{"version":3,"file":"AWAgent.js","sourceRoot":"","sources":["../../src/AWAgent/AWAgent.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { type AgentTool } from "./AWAgent/AWAgent.types.js";
|
|
|
5
5
|
export { ElementLocatorRegistry } from "./tools/utils/element-registry.util.js";
|
|
6
6
|
export { type ElementSnapshot, type PageSnapshot, generateAccessibilitySnapshot, } from "./tools/utils/accessibility-snapshot.util.js";
|
|
7
7
|
export { validateConditionTool } from "./tools/validate-condition.tool.js";
|
|
8
|
+
export { extractDataTool } from "./tools/extract-data.tool.js";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,6BAA6B,GAC9B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,6BAA6B,GAC9B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,4 +5,5 @@ export {} from "./AWAgent/AWAgent.types.js";
|
|
|
5
5
|
export { ElementLocatorRegistry } from "./tools/utils/element-registry.util.js";
|
|
6
6
|
export { generateAccessibilitySnapshot, } from "./tools/utils/accessibility-snapshot.util.js";
|
|
7
7
|
export { validateConditionTool } from "./tools/validate-condition.tool.js";
|
|
8
|
+
export { extractDataTool } from "./tools/extract-data.tool.js";
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAA+B,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAGL,6BAA6B,GAC9B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAA+B,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAGL,6BAA6B,GAC9B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare function extractDataTool(): import("langchain").DynamicStructuredTool<z.ZodObject<{
|
|
3
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
4
|
+
}, z.core.$strip>, {
|
|
5
|
+
data: Record<string, unknown>;
|
|
6
|
+
}, {
|
|
7
|
+
data: Record<string, unknown>;
|
|
8
|
+
}, string>;
|
|
9
|
+
//# sourceMappingURL=extract-data.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-data.tool.d.ts","sourceRoot":"","sources":["../../src/tools/extract-data.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAgB,eAAe;;;UAER,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;WAsB7C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { tool } from "langchain";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export function extractDataTool() {
|
|
4
|
+
return tool(({ data }) => {
|
|
5
|
+
console.log(`Data extracted successfully`);
|
|
6
|
+
console.log(`Extracted data:`, JSON.stringify(data, null, 2));
|
|
7
|
+
return JSON.stringify({ data });
|
|
8
|
+
}, {
|
|
9
|
+
name: "ReturnExtractedData",
|
|
10
|
+
description: `Use this tool to return the extracted data from the webpage after gathering all required information.
|
|
11
|
+
Call this tool once you have collected all the data fields according to the extraction schema.
|
|
12
|
+
This is a TERMINAL action - after calling this tool, your task is complete and you should not take any further actions.
|
|
13
|
+
|
|
14
|
+
The data parameter should be a JSON object containing all the fields specified in the extraction instructions.
|
|
15
|
+
Make sure all required fields are present and have the correct types.`,
|
|
16
|
+
schema: z.object({
|
|
17
|
+
data: z
|
|
18
|
+
.record(z.string(), z.unknown())
|
|
19
|
+
.describe("The extracted data as a JSON object with the specified fields"),
|
|
20
|
+
}),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=extract-data.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-data.tool.js","sourceRoot":"","sources":["../../src/tools/extract-data.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CACT,CAAC,EAAE,IAAI,EAAqC,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC,EACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE;;;;;sEAKmD;QAChE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,CAAC;iBACJ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,CACP,+DAA+D,CAChE;SACJ,CAAC;KACH,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { type Page } from "playwright";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { type ElementLocatorRegistry } from "./utils/element-registry.util.js";
|
|
4
4
|
export declare function getDOMSnapshotTool(page: Page, elementRegistry: ElementLocatorRegistry): import("langchain").DynamicStructuredTool<z.ZodObject<{
|
|
5
|
-
extraTags: z.
|
|
5
|
+
extraTags: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
6
6
|
}, z.core.$strip>, {
|
|
7
7
|
extraTags?: string[];
|
|
8
8
|
}, {
|
|
@@ -44,8 +44,8 @@ Common tags you might want to include:
|
|
|
44
44
|
schema: z.object({
|
|
45
45
|
extraTags: z
|
|
46
46
|
.array(z.string())
|
|
47
|
-
.
|
|
48
|
-
.describe("Optional array of additional HTML tag names to include in the snapshot (e.g., ['p', 'span', 'h1'])"),
|
|
47
|
+
.default([])
|
|
48
|
+
.describe("Optional array of additional HTML tag names to include in the snapshot (e.g., ['p', 'span', 'h1']). Defaults to empty array."),
|
|
49
49
|
}),
|
|
50
50
|
});
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-DOM-snapshot.tool.js","sourceRoot":"","sources":["../../src/tools/get-DOM-snapshot.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAa,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAA+B,MAAM,kCAAkC,CAAC;AAE/E,MAAM,UAAU,kBAAkB,CAChC,IAAU,EACV,eAAuC;IAEvC,OAAO,IAAI,CACT,KAAK,EAAE,EAAE,SAAS,GAAG,EAAE,EAA4B,EAAE,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,uDAAuD;QACvD,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAClD,IAAI,EACJ,eAAe,CAAC,MAAM,EAAE,EACxB,SAAS,CACV,CAAC;QAEF,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,sBAAsB,YAAY,QAAQ,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAExC,OAAO,YAAY,CAAC;IACtB,CAAC,EACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;kBAmBD;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,SAAS,EAAE,CAAC;iBACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,
|
|
1
|
+
{"version":3,"file":"get-DOM-snapshot.tool.js","sourceRoot":"","sources":["../../src/tools/get-DOM-snapshot.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAa,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAA+B,MAAM,kCAAkC,CAAC;AAE/E,MAAM,UAAU,kBAAkB,CAChC,IAAU,EACV,eAAuC;IAEvC,OAAO,IAAI,CACT,KAAK,EAAE,EAAE,SAAS,GAAG,EAAE,EAA4B,EAAE,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,uDAAuD;QACvD,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAClD,IAAI,EACJ,eAAe,CAAC,MAAM,EAAE,EACxB,SAAS,CACV,CAAC;QAEF,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,sBAAsB,YAAY,QAAQ,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAExC,OAAO,YAAY,CAAC;IACtB,CAAC,EACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;kBAmBD;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,SAAS,EAAE,CAAC;iBACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CACP,8HAA8H,CAC/H;SACJ,CAAC;KACH,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -9,7 +9,7 @@ export function navigateTool(page) {
|
|
|
9
9
|
name: "NavigateToURL",
|
|
10
10
|
description: "Navigate to a specified URL",
|
|
11
11
|
schema: z.object({
|
|
12
|
-
url: z.string().
|
|
12
|
+
url: z.string().describe("The URL to navigate to (e.g., https://example.com)"),
|
|
13
13
|
}),
|
|
14
14
|
});
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.tool.js","sourceRoot":"","sources":["../../src/tools/navigate.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAa,MAAM,YAAY,CAAC;AACvC,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,OAAO,IAAI,CACT,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QACzC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC,EACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6BAA6B;QAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"navigate.tool.js","sourceRoot":"","sources":["../../src/tools/navigate.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAa,MAAM,YAAY,CAAC;AACvC,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,OAAO,IAAI,CACT,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QACzC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC,EACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6BAA6B;QAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;SAC/E,CAAC;KACH,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bini-bar-labs/atomic-web-agent-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "The core of the Atomic Web Agent, providing essential functionalities for web interaction.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"dedent": "1.7.0",
|
|
60
60
|
"langchain": "1.1.1",
|
|
61
61
|
"playwright": "1.57.0",
|
|
62
|
-
"zod": "4.1.13"
|
|
62
|
+
"zod": "4.1.13",
|
|
63
|
+
"zod-to-json-schema": "^3.25.1"
|
|
63
64
|
}
|
|
64
65
|
}
|