@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 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
@@ -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/_adapter_entry_e8ad96d4-6c09-4b8e-bbae-c90fd4c380b3.ts
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 ot2 = globalThis.__openTabs;
15174
+ const ot3 = globalThis.__openTabs;
15173
15175
  const newAdaptersObj = {};
15174
- if (ot2.adapters) {
15175
- for (const key of Object.keys(ot2.adapters)) {
15176
- const d = Object.getOwnPropertyDescriptor(ot2.adapters, key);
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({}, ot2, { adapters: newAdaptersObj });
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 ot2 = globalThis.__openTabs;
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({}, ot2, { adapters: newAdapters });
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 ot2 = globalThis.__openTabs;
15299
- if (!ot2._navigationInterceptor) {
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
- ot2._navigationInterceptor = { callbacks, origPushState, origReplaceState };
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 = ot2._navigationInterceptor;
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="5a70231d471c8a586b3f295a4d87f1b81e9c321415843f97dc506ccbc6aff46f";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});}})();
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