@opentabs-dev/opentabs-plugin-bitbucket 0.0.75 → 0.0.77
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 +97 -0
- package/dist/adapter.iife.js +25 -13
- package/dist/adapter.iife.js.map +3 -3
- package/dist/tools.json +1 -1
- package/package.json +10 -4
package/README.md
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Bitbucket
|
|
2
|
+
|
|
3
|
+
OpenTabs plugin for Bitbucket — gives AI agents access to Bitbucket through your authenticated browser session.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
opentabs plugin install bitbucket
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or install globally via npm:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g @opentabs-dev/opentabs-plugin-bitbucket
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Setup
|
|
18
|
+
|
|
19
|
+
1. Open [bitbucket.org](https://bitbucket.org) in Chrome and log in
|
|
20
|
+
2. Open the OpenTabs side panel — the Bitbucket plugin should appear as **ready**
|
|
21
|
+
|
|
22
|
+
## Tools (27)
|
|
23
|
+
|
|
24
|
+
### Repositories (3)
|
|
25
|
+
|
|
26
|
+
| Tool | Description | Type |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| `list_repositories` | List repositories in a workspace | Read |
|
|
29
|
+
| `get_repository` | Get repository details | Read |
|
|
30
|
+
| `create_repository` | Create a new repository | Write |
|
|
31
|
+
|
|
32
|
+
### Pull Requests (10)
|
|
33
|
+
|
|
34
|
+
| Tool | Description | Type |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| `list_pull_requests` | List pull requests for a repository | Read |
|
|
37
|
+
| `get_pull_request` | Get pull request details | Read |
|
|
38
|
+
| `create_pull_request` | Create a new pull request | Write |
|
|
39
|
+
| `update_pull_request` | Update a pull request | Write |
|
|
40
|
+
| `merge_pull_request` | Merge a pull request | Write |
|
|
41
|
+
| `decline_pull_request` | Decline a pull request | Write |
|
|
42
|
+
| `approve_pull_request` | Approve a pull request | Write |
|
|
43
|
+
| `list_pr_comments` | List pull request comments | Read |
|
|
44
|
+
| `create_pr_comment` | Add a comment to a pull request | Write |
|
|
45
|
+
| `get_pull_request_diff` | Get pull request diff | Read |
|
|
46
|
+
|
|
47
|
+
### Branches & Tags (4)
|
|
48
|
+
|
|
49
|
+
| Tool | Description | Type |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| `list_branches` | List repository branches | Read |
|
|
52
|
+
| `create_branch` | Create a new branch | Write |
|
|
53
|
+
| `delete_branch` | Delete a branch | Write |
|
|
54
|
+
| `list_tags` | List repository tags | Read |
|
|
55
|
+
|
|
56
|
+
### Commits (2)
|
|
57
|
+
|
|
58
|
+
| Tool | Description | Type |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| `list_commits` | List repository commits | Read |
|
|
61
|
+
| `get_commit` | Get commit details | Read |
|
|
62
|
+
|
|
63
|
+
### Pipelines (3)
|
|
64
|
+
|
|
65
|
+
| Tool | Description | Type |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| `list_pipelines` | List repository pipelines | Read |
|
|
68
|
+
| `get_pipeline` | Get pipeline details | Read |
|
|
69
|
+
| `list_pipeline_steps` | List pipeline steps | Read |
|
|
70
|
+
|
|
71
|
+
### Source (2)
|
|
72
|
+
|
|
73
|
+
| Tool | Description | Type |
|
|
74
|
+
|---|---|---|
|
|
75
|
+
| `get_file_content` | Read a file from a repository | Read |
|
|
76
|
+
| `search_code` | Search code in a workspace | Read |
|
|
77
|
+
|
|
78
|
+
### Workspaces (2)
|
|
79
|
+
|
|
80
|
+
| Tool | Description | Type |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| `list_workspaces` | List workspaces | Read |
|
|
83
|
+
| `list_workspace_members` | List workspace members | Read |
|
|
84
|
+
|
|
85
|
+
### Users (1)
|
|
86
|
+
|
|
87
|
+
| Tool | Description | Type |
|
|
88
|
+
|---|---|---|
|
|
89
|
+
| `get_user_profile` | Get current user profile | Read |
|
|
90
|
+
|
|
91
|
+
## How It Works
|
|
92
|
+
|
|
93
|
+
This plugin runs inside your Bitbucket tab through the [OpenTabs](https://opentabs.dev) Chrome extension. It uses your existing browser session — no API tokens or OAuth apps required. All operations happen as you, with your permissions.
|
|
94
|
+
|
|
95
|
+
## License
|
|
96
|
+
|
|
97
|
+
MIT
|
package/dist/adapter.iife.js
CHANGED
|
@@ -300,6 +300,8 @@
|
|
|
300
300
|
* (e.g., 'https://github.com'), not a match pattern.
|
|
301
301
|
*/
|
|
302
302
|
homepage;
|
|
303
|
+
/** Typed configuration schema — declares settings that users provide via config.json or the side panel. */
|
|
304
|
+
configSchema;
|
|
303
305
|
};
|
|
304
306
|
|
|
305
307
|
// src/bitbucket-api.ts
|
|
@@ -15163,21 +15165,21 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15163
15165
|
};
|
|
15164
15166
|
var src_default = new BitbucketPlugin();
|
|
15165
15167
|
|
|
15166
|
-
// dist/
|
|
15168
|
+
// dist/_adapter_entry_82042b38-42ac-42f1-8e1a-9744857e5069.ts
|
|
15167
15169
|
if (!globalThis.__openTabs) {
|
|
15168
15170
|
globalThis.__openTabs = {};
|
|
15169
15171
|
} else {
|
|
15170
15172
|
const desc = Object.getOwnPropertyDescriptor(globalThis.__openTabs, "adapters");
|
|
15171
15173
|
if (desc && !desc.writable) {
|
|
15172
|
-
const
|
|
15174
|
+
const ot3 = globalThis.__openTabs;
|
|
15173
15175
|
const newAdaptersObj = {};
|
|
15174
|
-
if (
|
|
15175
|
-
for (const key of Object.keys(
|
|
15176
|
-
const d = Object.getOwnPropertyDescriptor(
|
|
15176
|
+
if (ot3.adapters) {
|
|
15177
|
+
for (const key of Object.keys(ot3.adapters)) {
|
|
15178
|
+
const d = Object.getOwnPropertyDescriptor(ot3.adapters, key);
|
|
15177
15179
|
if (d) Object.defineProperty(newAdaptersObj, key, d);
|
|
15178
15180
|
}
|
|
15179
15181
|
}
|
|
15180
|
-
globalThis.__openTabs = Object.assign({},
|
|
15182
|
+
globalThis.__openTabs = Object.assign({}, ot3, { adapters: newAdaptersObj });
|
|
15181
15183
|
}
|
|
15182
15184
|
}
|
|
15183
15185
|
if (!globalThis.__openTabs.adapters) {
|
|
@@ -15215,6 +15217,16 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15215
15217
|
}
|
|
15216
15218
|
};
|
|
15217
15219
|
var restoreTransport = setLogTransport ? setLogTransport(logTransport) : void 0;
|
|
15220
|
+
var ot2 = globalThis.__openTabs;
|
|
15221
|
+
ot2._notifyReadinessChanged = () => {
|
|
15222
|
+
try {
|
|
15223
|
+
const nonce = globalThis.__openTabs?._readinessNonce;
|
|
15224
|
+
if (nonce) {
|
|
15225
|
+
window.postMessage({ type: "opentabs:readiness-changed", plugin: "bitbucket", nonce }, "*");
|
|
15226
|
+
}
|
|
15227
|
+
} catch {
|
|
15228
|
+
}
|
|
15229
|
+
};
|
|
15218
15230
|
var existing = adapters["bitbucket"];
|
|
15219
15231
|
if (existing) {
|
|
15220
15232
|
if (typeof existing.teardown === "function") {
|
|
@@ -15226,7 +15238,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15226
15238
|
}
|
|
15227
15239
|
}
|
|
15228
15240
|
if (!Reflect.deleteProperty(adapters, "bitbucket")) {
|
|
15229
|
-
const
|
|
15241
|
+
const ot3 = globalThis.__openTabs;
|
|
15230
15242
|
const newAdapters = {};
|
|
15231
15243
|
for (const key of Object.keys(adapters)) {
|
|
15232
15244
|
if (key !== "bitbucket") {
|
|
@@ -15234,7 +15246,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15234
15246
|
if (desc) Object.defineProperty(newAdapters, key, desc);
|
|
15235
15247
|
}
|
|
15236
15248
|
}
|
|
15237
|
-
globalThis.__openTabs = Object.assign({},
|
|
15249
|
+
globalThis.__openTabs = Object.assign({}, ot3, { adapters: newAdapters });
|
|
15238
15250
|
}
|
|
15239
15251
|
var hasLifecycleHooks = typeof src_default.onToolInvocationStart === "function" || typeof src_default.onToolInvocationEnd === "function";
|
|
15240
15252
|
for (const tool of src_default.tools) {
|
|
@@ -15295,12 +15307,12 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15295
15307
|
}
|
|
15296
15308
|
}
|
|
15297
15309
|
};
|
|
15298
|
-
const
|
|
15299
|
-
if (!
|
|
15310
|
+
const ot3 = globalThis.__openTabs;
|
|
15311
|
+
if (!ot3._navigationInterceptor) {
|
|
15300
15312
|
const origPushState = history.pushState.bind(history);
|
|
15301
15313
|
const origReplaceState = history.replaceState.bind(history);
|
|
15302
15314
|
const callbacks = /* @__PURE__ */ new Map();
|
|
15303
|
-
|
|
15315
|
+
ot3._navigationInterceptor = { callbacks, origPushState, origReplaceState };
|
|
15304
15316
|
history.pushState = function(...args) {
|
|
15305
15317
|
origPushState(...args);
|
|
15306
15318
|
for (const cb of callbacks.values()) {
|
|
@@ -15314,7 +15326,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15314
15326
|
}
|
|
15315
15327
|
};
|
|
15316
15328
|
}
|
|
15317
|
-
const interceptor =
|
|
15329
|
+
const interceptor = ot3._navigationInterceptor;
|
|
15318
15330
|
interceptor.callbacks.set("bitbucket", checkUrl);
|
|
15319
15331
|
window.addEventListener("popstate", checkUrl);
|
|
15320
15332
|
window.addEventListener("hashchange", checkUrl);
|
|
@@ -15369,5 +15381,5 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15369
15381
|
};
|
|
15370
15382
|
delete src_default.onDeactivate;
|
|
15371
15383
|
}
|
|
15372
|
-
})();(function(){var o=(globalThis).__openTabs;if(o&&o.adapters&&o.adapters["bitbucket"]){var a=o.adapters["bitbucket"];a.__adapterHash="
|
|
15384
|
+
})();(function(){var o=(globalThis).__openTabs;if(o&&o.adapters&&o.adapters["bitbucket"]){var a=o.adapters["bitbucket"];a.__adapterHash="9d647a61032596548cc9dd0992071d75e2de6fb8fc079316ca207ae8fb9d96b6";if(a.tools&&Array.isArray(a.tools)){for(var i=0;i<a.tools.length;i++){Object.freeze(a.tools[i]);}Object.freeze(a.tools);}Object.freeze(a);Object.defineProperty(o.adapters,"bitbucket",{value:a,writable:false,configurable:false,enumerable:true});Object.defineProperty(o,"adapters",{value:o.adapters,writable:false,configurable:false});}})();
|
|
15373
15385
|
//# sourceMappingURL=adapter.iife.js.map
|