btcp-browser-agent 0.1.0 → 0.1.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/package.json +8 -9
- package/packages/core/dist/actions.d.ts +97 -0
- package/packages/core/dist/actions.js +940 -0
- package/packages/core/dist/errors.d.ts +138 -0
- package/packages/core/dist/errors.js +157 -0
- package/packages/core/dist/index.d.ts +120 -0
- package/packages/core/dist/index.js +134 -0
- package/packages/core/dist/ref-map.d.ts +16 -0
- package/packages/core/dist/ref-map.js +91 -0
- package/packages/core/dist/snapshot.d.ts +37 -0
- package/packages/core/dist/snapshot.js +751 -0
- package/packages/core/dist/types.d.ts +396 -0
- package/packages/core/dist/types.js +7 -0
- package/packages/extension/dist/background.d.ts +227 -0
- package/packages/extension/dist/background.js +737 -0
- package/packages/extension/dist/content.d.ts +18 -0
- package/packages/extension/dist/content.js +149 -0
- package/packages/extension/dist/index.d.ts +228 -0
- package/packages/extension/dist/index.js +350 -0
- package/packages/extension/dist/session-manager.d.ts +87 -0
- package/packages/extension/dist/session-manager.js +322 -0
- package/packages/extension/{src/session-types.ts → dist/session-types.d.ts} +113 -144
- package/packages/extension/dist/session-types.js +5 -0
- package/packages/extension/dist/types.d.ts +88 -0
- package/packages/extension/dist/types.js +7 -0
- package/CLAUDE.md +0 -230
- package/SKILL.md +0 -143
- package/SNAPSHOT_IMPROVEMENTS.md +0 -302
- package/USAGE.md +0 -146
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/docs/browser-cli-design.md +0 -500
- package/examples/chrome-extension/CHANGELOG.md +0 -210
- package/examples/chrome-extension/DEBUG.md +0 -231
- package/examples/chrome-extension/ERROR_FIXED.md +0 -147
- package/examples/chrome-extension/QUICK_TEST.md +0 -189
- package/examples/chrome-extension/README.md +0 -149
- package/examples/chrome-extension/SESSION_ONLY_MODE.md +0 -305
- package/examples/chrome-extension/TEST_WITH_YOUR_TABS.md +0 -97
- package/examples/chrome-extension/build.js +0 -43
- package/examples/chrome-extension/manifest.json +0 -37
- package/examples/chrome-extension/package-lock.json +0 -1063
- package/examples/chrome-extension/package.json +0 -21
- package/examples/chrome-extension/popup.html +0 -195
- package/examples/chrome-extension/src/background.ts +0 -12
- package/examples/chrome-extension/src/content.ts +0 -7
- package/examples/chrome-extension/src/popup.ts +0 -303
- package/examples/chrome-extension/src/scenario-google-github.ts +0 -389
- package/examples/chrome-extension/test-page.html +0 -127
- package/examples/chrome-extension/tests/README.md +0 -206
- package/examples/chrome-extension/tests/scenario-google-to-github-star.ts +0 -380
- package/examples/chrome-extension/tsconfig.json +0 -14
- package/examples/snapshots/README.md +0 -207
- package/examples/snapshots/amazon-com-detail.html +0 -9528
- package/examples/snapshots/amazon-com-detail.snapshot.txt +0 -997
- package/examples/snapshots/convert-snapshots.ts +0 -97
- package/examples/snapshots/edition-cnn-com.html +0 -13292
- package/examples/snapshots/edition-cnn-com.snapshot.txt +0 -562
- package/examples/snapshots/github-com-microsoft-vscode.html +0 -2916
- package/examples/snapshots/github-com-microsoft-vscode.snapshot.txt +0 -455
- package/examples/snapshots/google-search.html +0 -20012
- package/examples/snapshots/google-search.snapshot.txt +0 -195
- package/examples/snapshots/metadata.json +0 -86
- package/examples/snapshots/npr-org-templates.html +0 -2031
- package/examples/snapshots/npr-org-templates.snapshot.txt +0 -224
- package/examples/snapshots/stackoverflow-com.html +0 -5216
- package/examples/snapshots/stackoverflow-com.snapshot.txt +0 -2404
- package/examples/snapshots/test-all-mode.html +0 -46
- package/examples/snapshots/test-all-mode.snapshot.txt +0 -5
- package/examples/snapshots/validate.test.ts +0 -296
- package/packages/cli/package.json +0 -42
- package/packages/cli/src/__tests__/cli.test.ts +0 -434
- package/packages/cli/src/__tests__/errors.test.ts +0 -226
- package/packages/cli/src/__tests__/executor.test.ts +0 -275
- package/packages/cli/src/__tests__/formatter.test.ts +0 -260
- package/packages/cli/src/__tests__/parser.test.ts +0 -288
- package/packages/cli/src/__tests__/suggestions.test.ts +0 -255
- package/packages/cli/src/commands/back.ts +0 -22
- package/packages/cli/src/commands/check.ts +0 -33
- package/packages/cli/src/commands/clear.ts +0 -33
- package/packages/cli/src/commands/click.ts +0 -32
- package/packages/cli/src/commands/closetab.ts +0 -31
- package/packages/cli/src/commands/eval.ts +0 -41
- package/packages/cli/src/commands/fill.ts +0 -30
- package/packages/cli/src/commands/focus.ts +0 -33
- package/packages/cli/src/commands/forward.ts +0 -22
- package/packages/cli/src/commands/goto.ts +0 -34
- package/packages/cli/src/commands/help.ts +0 -162
- package/packages/cli/src/commands/hover.ts +0 -34
- package/packages/cli/src/commands/index.ts +0 -129
- package/packages/cli/src/commands/newtab.ts +0 -35
- package/packages/cli/src/commands/press.ts +0 -40
- package/packages/cli/src/commands/reload.ts +0 -25
- package/packages/cli/src/commands/screenshot.ts +0 -27
- package/packages/cli/src/commands/scroll.ts +0 -64
- package/packages/cli/src/commands/select.ts +0 -35
- package/packages/cli/src/commands/snapshot.ts +0 -21
- package/packages/cli/src/commands/tab.ts +0 -32
- package/packages/cli/src/commands/tabs.ts +0 -26
- package/packages/cli/src/commands/text.ts +0 -27
- package/packages/cli/src/commands/title.ts +0 -17
- package/packages/cli/src/commands/type.ts +0 -38
- package/packages/cli/src/commands/uncheck.ts +0 -33
- package/packages/cli/src/commands/url.ts +0 -17
- package/packages/cli/src/commands/wait.ts +0 -54
- package/packages/cli/src/errors.ts +0 -164
- package/packages/cli/src/executor.ts +0 -68
- package/packages/cli/src/formatter.ts +0 -215
- package/packages/cli/src/index.ts +0 -257
- package/packages/cli/src/parser.ts +0 -195
- package/packages/cli/src/suggestions.ts +0 -207
- package/packages/cli/src/terminal/Terminal.ts +0 -365
- package/packages/cli/src/terminal/index.ts +0 -5
- package/packages/cli/src/types.ts +0 -155
- package/packages/cli/tsconfig.json +0 -20
- package/packages/core/package.json +0 -35
- package/packages/core/src/actions.ts +0 -1210
- package/packages/core/src/errors.ts +0 -296
- package/packages/core/src/index.test.ts +0 -638
- package/packages/core/src/index.ts +0 -220
- package/packages/core/src/ref-map.ts +0 -107
- package/packages/core/src/snapshot.ts +0 -873
- package/packages/core/src/types.ts +0 -536
- package/packages/core/tsconfig.json +0 -23
- package/packages/extension/README.md +0 -129
- package/packages/extension/package.json +0 -43
- package/packages/extension/src/background.ts +0 -888
- package/packages/extension/src/content.ts +0 -172
- package/packages/extension/src/index.ts +0 -579
- package/packages/extension/src/session-manager.ts +0 -385
- package/packages/extension/src/types.ts +0 -162
- package/packages/extension/tsconfig.json +0 -28
- package/src/index.ts +0 -64
- package/tsconfig.build.json +0 -12
- package/tsconfig.json +0 -26
- package/vitest.config.ts +0 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "btcp-browser-agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Give AI agents the power to control browsers. A foundation for building agentic systems with smart DOM snapshots and stable element references.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -25,14 +25,6 @@
|
|
|
25
25
|
"./extension/background": {
|
|
26
26
|
"types": "./packages/extension/dist/background.d.ts",
|
|
27
27
|
"import": "./packages/extension/dist/background.js"
|
|
28
|
-
},
|
|
29
|
-
"./cli": {
|
|
30
|
-
"types": "./packages/cli/dist/index.d.ts",
|
|
31
|
-
"import": "./packages/cli/dist/index.js"
|
|
32
|
-
},
|
|
33
|
-
"./cli/terminal": {
|
|
34
|
-
"types": "./packages/cli/dist/terminal/index.d.ts",
|
|
35
|
-
"import": "./packages/cli/dist/terminal/index.js"
|
|
36
28
|
}
|
|
37
29
|
},
|
|
38
30
|
"scripts": {
|
|
@@ -49,6 +41,13 @@
|
|
|
49
41
|
"packages/extension",
|
|
50
42
|
"packages/cli"
|
|
51
43
|
],
|
|
44
|
+
"files": [
|
|
45
|
+
"dist",
|
|
46
|
+
"packages/core/dist",
|
|
47
|
+
"packages/extension/dist",
|
|
48
|
+
"!**/__tests__",
|
|
49
|
+
"!**/*.map"
|
|
50
|
+
],
|
|
52
51
|
"license": "Apache-2.0",
|
|
53
52
|
"repository": {
|
|
54
53
|
"type": "git",
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @btcp/core - DOM Actions
|
|
3
|
+
*
|
|
4
|
+
* Element interaction handlers using native browser APIs.
|
|
5
|
+
*/
|
|
6
|
+
import type { Command, Response, RefMap } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* DOM Actions executor
|
|
9
|
+
*/
|
|
10
|
+
export declare class DOMActions {
|
|
11
|
+
private document;
|
|
12
|
+
private window;
|
|
13
|
+
private refMap;
|
|
14
|
+
private lastSnapshotData;
|
|
15
|
+
private overlayContainer;
|
|
16
|
+
private scrollListener;
|
|
17
|
+
private rafId;
|
|
18
|
+
constructor(doc: Document, win: Window, refMap: RefMap);
|
|
19
|
+
/**
|
|
20
|
+
* Execute a command and return a response
|
|
21
|
+
*/
|
|
22
|
+
execute(command: Command): Promise<Response>;
|
|
23
|
+
private dispatch;
|
|
24
|
+
private getElement;
|
|
25
|
+
/**
|
|
26
|
+
* Find selectors similar to the given selector
|
|
27
|
+
*/
|
|
28
|
+
private findSimilarSelectors;
|
|
29
|
+
/**
|
|
30
|
+
* Get nearby interactive elements
|
|
31
|
+
*/
|
|
32
|
+
private getNearbyInteractiveElements;
|
|
33
|
+
/**
|
|
34
|
+
* Get available actions for an element based on its type
|
|
35
|
+
*/
|
|
36
|
+
private getAvailableActionsForElement;
|
|
37
|
+
private queryElement;
|
|
38
|
+
private queryElements;
|
|
39
|
+
private click;
|
|
40
|
+
private dblclick;
|
|
41
|
+
private type;
|
|
42
|
+
private fill;
|
|
43
|
+
private clear;
|
|
44
|
+
private check;
|
|
45
|
+
private uncheck;
|
|
46
|
+
private select;
|
|
47
|
+
private focus;
|
|
48
|
+
private blur;
|
|
49
|
+
private hover;
|
|
50
|
+
private scroll;
|
|
51
|
+
private scrollIntoView;
|
|
52
|
+
private snapshot;
|
|
53
|
+
private querySelector;
|
|
54
|
+
private querySelectorAll;
|
|
55
|
+
private getText;
|
|
56
|
+
private getAttribute;
|
|
57
|
+
private getProperty;
|
|
58
|
+
private getBoundingBox;
|
|
59
|
+
private isVisible;
|
|
60
|
+
private isEnabled;
|
|
61
|
+
private isChecked;
|
|
62
|
+
private press;
|
|
63
|
+
private keyDown;
|
|
64
|
+
private keyUp;
|
|
65
|
+
private wait;
|
|
66
|
+
private evaluate;
|
|
67
|
+
/**
|
|
68
|
+
* Validate element capabilities before attempting an action
|
|
69
|
+
*/
|
|
70
|
+
private validateElement;
|
|
71
|
+
/**
|
|
72
|
+
* Validate that refs are still valid
|
|
73
|
+
*/
|
|
74
|
+
private validateRefs;
|
|
75
|
+
/**
|
|
76
|
+
* Display visual overlay labels for interactive elements
|
|
77
|
+
*/
|
|
78
|
+
private highlight;
|
|
79
|
+
/**
|
|
80
|
+
* Invalidate snapshot data (called on navigation or manual clear)
|
|
81
|
+
*/
|
|
82
|
+
invalidateSnapshot(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Update highlight positions on scroll (GPU-accelerated)
|
|
85
|
+
*/
|
|
86
|
+
private updateHighlightPositions;
|
|
87
|
+
/**
|
|
88
|
+
* Remove visual overlay labels
|
|
89
|
+
*/
|
|
90
|
+
private clearHighlight;
|
|
91
|
+
/**
|
|
92
|
+
* Remove existing overlay if it exists
|
|
93
|
+
*/
|
|
94
|
+
private clearExistingOverlay;
|
|
95
|
+
private sleep;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=actions.d.ts.map
|