browserclaw-agent 0.5.1 → 0.6.1
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.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/skills/fill-iframe-field.d.ts +7 -0
- package/dist/skills/fill-iframe-field.d.ts.map +1 -0
- package/dist/skills/fill-iframe-field.js +42 -0
- package/dist/skills/fill-iframe-field.js.map +1 -0
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export { defaultAgentConfig } from './config.js';
|
|
|
4
4
|
export type { AgentConfig } from './config.js';
|
|
5
5
|
export { runWithLlmConfig, getTokenUsage } from './llm.js';
|
|
6
6
|
export type { TokenUsage } from './llm.js';
|
|
7
|
+
export { fillIframeFieldByTokens } from './skills/fill-iframe-field.js';
|
|
8
|
+
export type { FillIframeFieldResult } from './skills/fill-iframe-field.js';
|
|
7
9
|
export type { AgentAction, AgentActionType, AgentLoopResult, AgentProgress, AgentStep, CatalogSkill, CreateSessionRequest, DomainLesson, DomainSkillEntry, LlmConfig, LlmProvider, Session, SessionStatus, SkillMetadata, SkillOutput, SkillStep, TaskLesson, UserMessage, } from './types.js';
|
|
8
10
|
export { HttpError, LlmParseError } from './types.js';
|
|
9
11
|
//# 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,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/F,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,YAAY,EACV,WAAW,EACX,eAAe,EACf,eAAe,EACf,aAAa,EACb,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,OAAO,EACP,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,EACT,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/F,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E,YAAY,EACV,WAAW,EACX,eAAe,EACf,eAAe,EACf,aAAa,EACb,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,OAAO,EACP,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,EACT,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { runAgentLoop, buildInterjectionBlock, shouldCheckTermination } from './agent-loop.js';
|
|
2
2
|
export { defaultAgentConfig } from './config.js';
|
|
3
3
|
export { runWithLlmConfig, getTokenUsage } from './llm.js';
|
|
4
|
+
export { fillIframeFieldByTokens } from './skills/fill-iframe-field.js';
|
|
4
5
|
export { HttpError, LlmParseError } from './types.js';
|
|
5
6
|
//# 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,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAG/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAG/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAuBxE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CrawlPage } from 'browserclaw';
|
|
2
|
+
export interface FillIframeFieldResult {
|
|
3
|
+
filled: boolean;
|
|
4
|
+
where?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function fillIframeFieldByTokens(page: CrawlPage, tokens: string[], value: string): Promise<FillIframeFieldResult>;
|
|
7
|
+
//# sourceMappingURL=fill-iframe-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fill-iframe-field.d.ts","sourceRoot":"","sources":["../../src/skills/fill-iframe-field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC,CAwChC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export async function fillIframeFieldByTokens(page, tokens, value) {
|
|
2
|
+
const normalized = tokens.map((t) => t.toLowerCase()).filter(Boolean);
|
|
3
|
+
if (normalized.length === 0)
|
|
4
|
+
return { filled: false };
|
|
5
|
+
const script = `(function() {
|
|
6
|
+
var keyTokens = ${JSON.stringify(normalized)};
|
|
7
|
+
var value = ${JSON.stringify(value)};
|
|
8
|
+
var inputs = Array.from(document.querySelectorAll('input, select'));
|
|
9
|
+
for (var i = 0; i < inputs.length; i++) {
|
|
10
|
+
var el = inputs[i];
|
|
11
|
+
if (el.disabled || el.readOnly) continue;
|
|
12
|
+
if (el instanceof window.HTMLInputElement && el.type === 'hidden') continue;
|
|
13
|
+
var attrSource = [
|
|
14
|
+
el.name, el.id,
|
|
15
|
+
el.getAttribute('autocomplete'),
|
|
16
|
+
el.getAttribute('data-field'),
|
|
17
|
+
el.getAttribute('aria-label'),
|
|
18
|
+
el.getAttribute('placeholder'),
|
|
19
|
+
].filter(Boolean).join(' ').toLowerCase();
|
|
20
|
+
var attrTokens = attrSource.split(/[^a-z0-9]+/).filter(Boolean);
|
|
21
|
+
var matchAll = keyTokens.every(function(k) { return attrTokens.indexOf(k) !== -1; });
|
|
22
|
+
if (!matchAll) continue;
|
|
23
|
+
var proto = el instanceof window.HTMLSelectElement
|
|
24
|
+
? window.HTMLSelectElement.prototype
|
|
25
|
+
: window.HTMLInputElement.prototype;
|
|
26
|
+
var setter = Object.getOwnPropertyDescriptor(proto, 'value');
|
|
27
|
+
if (setter && setter.set) { setter.set.call(el, value); }
|
|
28
|
+
else { el.value = value; }
|
|
29
|
+
el.dispatchEvent(new Event('input', { bubbles: true }));
|
|
30
|
+
el.dispatchEvent(new Event('change', { bubbles: true }));
|
|
31
|
+
return el.name || el.id || '?';
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
})()`;
|
|
35
|
+
const results = await page.evaluateInAllFrames(script);
|
|
36
|
+
for (const { result } of results) {
|
|
37
|
+
if (typeof result === 'string')
|
|
38
|
+
return { filled: true, where: result };
|
|
39
|
+
}
|
|
40
|
+
return { filled: false };
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=fill-iframe-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fill-iframe-field.js","sourceRoot":"","sources":["../../src/skills/fill-iframe-field.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAe,EACf,MAAgB,EAChB,KAAa;IAEb,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAEtD,MAAM,MAAM,GAAG;sBACK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;kBAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BhC,CAAC;IAEN,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACjC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserclaw-agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Browser automation agent loop powered by browserclaw",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"prepublishOnly": "npm run build && npm run test:pack"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"browserclaw": "^0.
|
|
31
|
+
"browserclaw": "^0.19.0",
|
|
32
32
|
"openai": "^4.80.0",
|
|
33
33
|
"pino": "^10.3.1"
|
|
34
34
|
},
|