btcp-browser-agent 0.1.0 → 0.1.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/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
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# Test Session with Your Current Tabs
|
|
2
|
-
|
|
3
|
-
## ✅ Good News: Extension is Working!
|
|
4
|
-
|
|
5
|
-
Your tab list command worked perfectly. You have 5 tabs:
|
|
6
|
-
- GitHub BTCP repo
|
|
7
|
-
- Claude.ai session
|
|
8
|
-
- GitHub Pull Request
|
|
9
|
-
- **YouTube video (ACTIVE)** ← Perfect for testing!
|
|
10
|
-
- Chrome extensions page
|
|
11
|
-
|
|
12
|
-
## Test the Session Now
|
|
13
|
-
|
|
14
|
-
Since the YouTube tab (ID: 1892096437) is active, it's perfect for testing:
|
|
15
|
-
|
|
16
|
-
### Step 1: Create Session
|
|
17
|
-
1. **Click the extension icon** (should still be open)
|
|
18
|
-
2. **Click "Start New Session"** button
|
|
19
|
-
3. **Watch the YouTube tab** - it should get a blue group border
|
|
20
|
-
|
|
21
|
-
### Step 2: Verify Success
|
|
22
|
-
Check if you see:
|
|
23
|
-
- ✅ Blue/colored border around the YouTube tab
|
|
24
|
-
- ✅ Group label appears: "BTCP Session 1"
|
|
25
|
-
- ✅ Popup shows: "BTCP Session 1" with "1 tab"
|
|
26
|
-
|
|
27
|
-
### Step 3: Test Auto-Grouping
|
|
28
|
-
1. In the popup, click **"New Tab"** button
|
|
29
|
-
2. A new tab should open at example.com
|
|
30
|
-
3. **It should automatically join the "BTCP Session 1" group**
|
|
31
|
-
4. Popup should update to show "2 tabs"
|
|
32
|
-
|
|
33
|
-
### Step 4: Test Close Session
|
|
34
|
-
1. Click **"Close Session"** button (red button)
|
|
35
|
-
2. **Both tabs in the group should close** (YouTube + new tab)
|
|
36
|
-
|
|
37
|
-
## What to Look For
|
|
38
|
-
|
|
39
|
-
### Console Output (Background Service Worker)
|
|
40
|
-
When you click "Start New Session", you should see:
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
[SessionManager] createGroup called with options: {}
|
|
44
|
-
[SessionManager] No tabIds provided, getting active tab...
|
|
45
|
-
[SessionManager] Active tab: {id: 1892096437, url: "https://www.youtube.com/...", ...}
|
|
46
|
-
[SessionManager] Creating group with tabs: [1892096437]
|
|
47
|
-
[SessionManager] Group created with ID: <some-number>
|
|
48
|
-
[SessionManager] Group updated with title: BTCP Session 1
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Visual Feedback
|
|
52
|
-
In your browser:
|
|
53
|
-
- YouTube tab gets colored border/background
|
|
54
|
-
- Tab shows group indicator
|
|
55
|
-
- Can collapse/expand the group by clicking the group label
|
|
56
|
-
|
|
57
|
-
## If It Works
|
|
58
|
-
|
|
59
|
-
Congratulations! 🎉 Your session management is fully functional!
|
|
60
|
-
|
|
61
|
-
You can now:
|
|
62
|
-
- ✅ Start sessions to organize tabs
|
|
63
|
-
- ✅ Auto-group new tabs created by the extension
|
|
64
|
-
- ✅ Close entire sessions at once
|
|
65
|
-
- ✅ Track how many tabs are in each session
|
|
66
|
-
|
|
67
|
-
## If It Doesn't Work
|
|
68
|
-
|
|
69
|
-
Check these:
|
|
70
|
-
|
|
71
|
-
1. **Error in popup console?**
|
|
72
|
-
- Right-click popup → Inspect → Console tab
|
|
73
|
-
- Share the error message
|
|
74
|
-
|
|
75
|
-
2. **Error in background console?**
|
|
76
|
-
- Go to chrome://extensions
|
|
77
|
-
- Click "service worker" under BTCP Browser Agent
|
|
78
|
-
- Check console for errors
|
|
79
|
-
|
|
80
|
-
3. **Nothing happens?**
|
|
81
|
-
- Make sure YouTube tab is actually active (click on it first)
|
|
82
|
-
- Try refreshing the extension
|
|
83
|
-
- Check if "Start New Session" button is enabled
|
|
84
|
-
|
|
85
|
-
## Next: Make Sessions Automatic
|
|
86
|
-
|
|
87
|
-
Based on your earlier comment about wanting `launch` to handle sessions, we can make this more automatic:
|
|
88
|
-
|
|
89
|
-
**Option 1:** First `tabNew` automatically creates a session
|
|
90
|
-
- User doesn't need to click "Start New Session"
|
|
91
|
-
- Just click "New Tab" and session auto-starts
|
|
92
|
-
|
|
93
|
-
**Option 2:** Session always exists
|
|
94
|
-
- Background script creates default session on startup
|
|
95
|
-
- All operations happen in that session
|
|
96
|
-
|
|
97
|
-
Would you like me to implement either of these?
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import * as esbuild from 'esbuild';
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import * as path from 'path';
|
|
4
|
-
|
|
5
|
-
const watch = process.argv.includes('--watch');
|
|
6
|
-
|
|
7
|
-
const config = {
|
|
8
|
-
entryPoints: [
|
|
9
|
-
'src/background.ts',
|
|
10
|
-
'src/content.ts',
|
|
11
|
-
'src/popup.ts',
|
|
12
|
-
],
|
|
13
|
-
bundle: true,
|
|
14
|
-
outdir: 'dist',
|
|
15
|
-
format: 'esm',
|
|
16
|
-
platform: 'browser',
|
|
17
|
-
target: 'chrome120',
|
|
18
|
-
sourcemap: true,
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
// Copy static files to dist
|
|
22
|
-
function copyStaticFiles() {
|
|
23
|
-
const filesToCopy = ['manifest.json', 'popup.html'];
|
|
24
|
-
|
|
25
|
-
if (!fs.existsSync('dist')) {
|
|
26
|
-
fs.mkdirSync('dist', { recursive: true });
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
for (const file of filesToCopy) {
|
|
30
|
-
fs.copyFileSync(file, path.join('dist', file));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (watch) {
|
|
35
|
-
const ctx = await esbuild.context(config);
|
|
36
|
-
await ctx.watch();
|
|
37
|
-
copyStaticFiles();
|
|
38
|
-
console.log('Watching for changes...');
|
|
39
|
-
} else {
|
|
40
|
-
await esbuild.build(config);
|
|
41
|
-
copyStaticFiles();
|
|
42
|
-
console.log('Build complete');
|
|
43
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"manifest_version": 3,
|
|
3
|
-
"name": "BTCP Browser Agent",
|
|
4
|
-
"version": "1.0.0",
|
|
5
|
-
"description": "Browser automation with DOM actions and navigation",
|
|
6
|
-
|
|
7
|
-
"permissions": [
|
|
8
|
-
"activeTab",
|
|
9
|
-
"tabs",
|
|
10
|
-
"tabGroups",
|
|
11
|
-
"scripting",
|
|
12
|
-
"storage"
|
|
13
|
-
],
|
|
14
|
-
|
|
15
|
-
"host_permissions": [
|
|
16
|
-
"<all_urls>"
|
|
17
|
-
],
|
|
18
|
-
|
|
19
|
-
"background": {
|
|
20
|
-
"service_worker": "background.js",
|
|
21
|
-
"type": "module"
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
"content_scripts": [
|
|
25
|
-
{
|
|
26
|
-
"matches": ["<all_urls>"],
|
|
27
|
-
"js": ["content.js"],
|
|
28
|
-
"run_at": "document_idle",
|
|
29
|
-
"all_frames": true
|
|
30
|
-
}
|
|
31
|
-
],
|
|
32
|
-
|
|
33
|
-
"action": {
|
|
34
|
-
"default_popup": "popup.html",
|
|
35
|
-
"default_title": "BTCP Agent"
|
|
36
|
-
}
|
|
37
|
-
}
|