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.
Files changed (136) hide show
  1. package/package.json +8 -9
  2. package/packages/core/dist/actions.d.ts +97 -0
  3. package/packages/core/dist/actions.js +940 -0
  4. package/packages/core/dist/errors.d.ts +138 -0
  5. package/packages/core/dist/errors.js +157 -0
  6. package/packages/core/dist/index.d.ts +120 -0
  7. package/packages/core/dist/index.js +134 -0
  8. package/packages/core/dist/ref-map.d.ts +16 -0
  9. package/packages/core/dist/ref-map.js +91 -0
  10. package/packages/core/dist/snapshot.d.ts +37 -0
  11. package/packages/core/dist/snapshot.js +751 -0
  12. package/packages/core/dist/types.d.ts +396 -0
  13. package/packages/core/dist/types.js +7 -0
  14. package/packages/extension/dist/background.d.ts +227 -0
  15. package/packages/extension/dist/background.js +737 -0
  16. package/packages/extension/dist/content.d.ts +18 -0
  17. package/packages/extension/dist/content.js +149 -0
  18. package/packages/extension/dist/index.d.ts +228 -0
  19. package/packages/extension/dist/index.js +350 -0
  20. package/packages/extension/dist/session-manager.d.ts +87 -0
  21. package/packages/extension/dist/session-manager.js +322 -0
  22. package/packages/extension/{src/session-types.ts → dist/session-types.d.ts} +113 -144
  23. package/packages/extension/dist/session-types.js +5 -0
  24. package/packages/extension/dist/types.d.ts +88 -0
  25. package/packages/extension/dist/types.js +7 -0
  26. package/CLAUDE.md +0 -230
  27. package/SKILL.md +0 -143
  28. package/SNAPSHOT_IMPROVEMENTS.md +0 -302
  29. package/USAGE.md +0 -146
  30. package/dist/index.d.ts.map +0 -1
  31. package/dist/index.js.map +0 -1
  32. package/docs/browser-cli-design.md +0 -500
  33. package/examples/chrome-extension/CHANGELOG.md +0 -210
  34. package/examples/chrome-extension/DEBUG.md +0 -231
  35. package/examples/chrome-extension/ERROR_FIXED.md +0 -147
  36. package/examples/chrome-extension/QUICK_TEST.md +0 -189
  37. package/examples/chrome-extension/README.md +0 -149
  38. package/examples/chrome-extension/SESSION_ONLY_MODE.md +0 -305
  39. package/examples/chrome-extension/TEST_WITH_YOUR_TABS.md +0 -97
  40. package/examples/chrome-extension/build.js +0 -43
  41. package/examples/chrome-extension/manifest.json +0 -37
  42. package/examples/chrome-extension/package-lock.json +0 -1063
  43. package/examples/chrome-extension/package.json +0 -21
  44. package/examples/chrome-extension/popup.html +0 -195
  45. package/examples/chrome-extension/src/background.ts +0 -12
  46. package/examples/chrome-extension/src/content.ts +0 -7
  47. package/examples/chrome-extension/src/popup.ts +0 -303
  48. package/examples/chrome-extension/src/scenario-google-github.ts +0 -389
  49. package/examples/chrome-extension/test-page.html +0 -127
  50. package/examples/chrome-extension/tests/README.md +0 -206
  51. package/examples/chrome-extension/tests/scenario-google-to-github-star.ts +0 -380
  52. package/examples/chrome-extension/tsconfig.json +0 -14
  53. package/examples/snapshots/README.md +0 -207
  54. package/examples/snapshots/amazon-com-detail.html +0 -9528
  55. package/examples/snapshots/amazon-com-detail.snapshot.txt +0 -997
  56. package/examples/snapshots/convert-snapshots.ts +0 -97
  57. package/examples/snapshots/edition-cnn-com.html +0 -13292
  58. package/examples/snapshots/edition-cnn-com.snapshot.txt +0 -562
  59. package/examples/snapshots/github-com-microsoft-vscode.html +0 -2916
  60. package/examples/snapshots/github-com-microsoft-vscode.snapshot.txt +0 -455
  61. package/examples/snapshots/google-search.html +0 -20012
  62. package/examples/snapshots/google-search.snapshot.txt +0 -195
  63. package/examples/snapshots/metadata.json +0 -86
  64. package/examples/snapshots/npr-org-templates.html +0 -2031
  65. package/examples/snapshots/npr-org-templates.snapshot.txt +0 -224
  66. package/examples/snapshots/stackoverflow-com.html +0 -5216
  67. package/examples/snapshots/stackoverflow-com.snapshot.txt +0 -2404
  68. package/examples/snapshots/test-all-mode.html +0 -46
  69. package/examples/snapshots/test-all-mode.snapshot.txt +0 -5
  70. package/examples/snapshots/validate.test.ts +0 -296
  71. package/packages/cli/package.json +0 -42
  72. package/packages/cli/src/__tests__/cli.test.ts +0 -434
  73. package/packages/cli/src/__tests__/errors.test.ts +0 -226
  74. package/packages/cli/src/__tests__/executor.test.ts +0 -275
  75. package/packages/cli/src/__tests__/formatter.test.ts +0 -260
  76. package/packages/cli/src/__tests__/parser.test.ts +0 -288
  77. package/packages/cli/src/__tests__/suggestions.test.ts +0 -255
  78. package/packages/cli/src/commands/back.ts +0 -22
  79. package/packages/cli/src/commands/check.ts +0 -33
  80. package/packages/cli/src/commands/clear.ts +0 -33
  81. package/packages/cli/src/commands/click.ts +0 -32
  82. package/packages/cli/src/commands/closetab.ts +0 -31
  83. package/packages/cli/src/commands/eval.ts +0 -41
  84. package/packages/cli/src/commands/fill.ts +0 -30
  85. package/packages/cli/src/commands/focus.ts +0 -33
  86. package/packages/cli/src/commands/forward.ts +0 -22
  87. package/packages/cli/src/commands/goto.ts +0 -34
  88. package/packages/cli/src/commands/help.ts +0 -162
  89. package/packages/cli/src/commands/hover.ts +0 -34
  90. package/packages/cli/src/commands/index.ts +0 -129
  91. package/packages/cli/src/commands/newtab.ts +0 -35
  92. package/packages/cli/src/commands/press.ts +0 -40
  93. package/packages/cli/src/commands/reload.ts +0 -25
  94. package/packages/cli/src/commands/screenshot.ts +0 -27
  95. package/packages/cli/src/commands/scroll.ts +0 -64
  96. package/packages/cli/src/commands/select.ts +0 -35
  97. package/packages/cli/src/commands/snapshot.ts +0 -21
  98. package/packages/cli/src/commands/tab.ts +0 -32
  99. package/packages/cli/src/commands/tabs.ts +0 -26
  100. package/packages/cli/src/commands/text.ts +0 -27
  101. package/packages/cli/src/commands/title.ts +0 -17
  102. package/packages/cli/src/commands/type.ts +0 -38
  103. package/packages/cli/src/commands/uncheck.ts +0 -33
  104. package/packages/cli/src/commands/url.ts +0 -17
  105. package/packages/cli/src/commands/wait.ts +0 -54
  106. package/packages/cli/src/errors.ts +0 -164
  107. package/packages/cli/src/executor.ts +0 -68
  108. package/packages/cli/src/formatter.ts +0 -215
  109. package/packages/cli/src/index.ts +0 -257
  110. package/packages/cli/src/parser.ts +0 -195
  111. package/packages/cli/src/suggestions.ts +0 -207
  112. package/packages/cli/src/terminal/Terminal.ts +0 -365
  113. package/packages/cli/src/terminal/index.ts +0 -5
  114. package/packages/cli/src/types.ts +0 -155
  115. package/packages/cli/tsconfig.json +0 -20
  116. package/packages/core/package.json +0 -35
  117. package/packages/core/src/actions.ts +0 -1210
  118. package/packages/core/src/errors.ts +0 -296
  119. package/packages/core/src/index.test.ts +0 -638
  120. package/packages/core/src/index.ts +0 -220
  121. package/packages/core/src/ref-map.ts +0 -107
  122. package/packages/core/src/snapshot.ts +0 -873
  123. package/packages/core/src/types.ts +0 -536
  124. package/packages/core/tsconfig.json +0 -23
  125. package/packages/extension/README.md +0 -129
  126. package/packages/extension/package.json +0 -43
  127. package/packages/extension/src/background.ts +0 -888
  128. package/packages/extension/src/content.ts +0 -172
  129. package/packages/extension/src/index.ts +0 -579
  130. package/packages/extension/src/session-manager.ts +0 -385
  131. package/packages/extension/src/types.ts +0 -162
  132. package/packages/extension/tsconfig.json +0 -28
  133. package/src/index.ts +0 -64
  134. package/tsconfig.build.json +0 -12
  135. package/tsconfig.json +0 -26
  136. 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
- }