bbk-cli 1.1.2 → 1.2.0

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 (39) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +14 -0
  3. package/README.md +113 -132
  4. package/dist/cli/wrapper.d.ts +0 -1
  5. package/dist/cli/wrapper.d.ts.map +1 -1
  6. package/dist/cli/wrapper.js +19 -54
  7. package/dist/cli/wrapper.js.map +1 -1
  8. package/dist/commands/helpers.js +1 -1
  9. package/dist/commands/runner.d.ts.map +1 -1
  10. package/dist/commands/runner.js +22 -18
  11. package/dist/commands/runner.js.map +1 -1
  12. package/dist/config/constants.d.ts.map +1 -1
  13. package/dist/config/constants.js +37 -52
  14. package/dist/config/constants.js.map +1 -1
  15. package/dist/utils/arg-parser.d.ts.map +1 -1
  16. package/dist/utils/arg-parser.js +23 -8
  17. package/dist/utils/arg-parser.js.map +1 -1
  18. package/dist/utils/bitbucket-client.d.ts +24 -37
  19. package/dist/utils/bitbucket-client.d.ts.map +1 -1
  20. package/dist/utils/bitbucket-client.js +38 -52
  21. package/dist/utils/bitbucket-client.js.map +1 -1
  22. package/dist/utils/bitbucket-utils.d.ts +48 -68
  23. package/dist/utils/bitbucket-utils.d.ts.map +1 -1
  24. package/dist/utils/bitbucket-utils.js +100 -125
  25. package/dist/utils/bitbucket-utils.js.map +1 -1
  26. package/dist/utils/config-loader.d.ts +10 -29
  27. package/dist/utils/config-loader.d.ts.map +1 -1
  28. package/dist/utils/config-loader.js +277 -51
  29. package/dist/utils/config-loader.js.map +1 -1
  30. package/dist/utils/index.d.ts +1 -1
  31. package/dist/utils/index.d.ts.map +1 -1
  32. package/dist/utils/index.js +1 -1
  33. package/dist/utils/index.js.map +1 -1
  34. package/package.json +1 -3
  35. package/tests/integration/cli-integration.test.ts +96 -217
  36. package/tests/unit/cli/wrapper.test.ts +28 -137
  37. package/tests/unit/commands/runner.test.ts +69 -197
  38. package/tests/unit/utils/arg-parser.test.ts +53 -4
  39. package/tests/unit/utils/config-loader.test.ts +441 -106
@@ -8,32 +8,26 @@ export interface ApiResult {
8
8
  data?: unknown;
9
9
  error?: string;
10
10
  }
11
- /**
12
- * Bitbucket API client options
13
- */
14
- interface BitbucketClientAuth {
15
- email: string;
16
- apiToken: string;
17
- }
18
11
  /**
19
12
  * Bitbucket API Utility Module
20
13
  * Provides core Bitbucket API operations with formatting using basic auth
21
14
  */
22
15
  export declare class BitbucketUtil {
23
16
  private readonly config;
24
- private readonly authPool;
25
17
  constructor(config: Config);
26
18
  /**
27
- * Get authentication for a profile
19
+ * Get authentication credentials
28
20
  */
29
- getAuth(profileName: string): BitbucketClientAuth;
21
+ getAuth(): {
22
+ email: string;
23
+ apiToken: string;
24
+ };
30
25
  /**
31
- * Get the default workspace for a profile
32
- * @param profileName - Name of the profile to get the default workspace for
33
- * @returns The default workspace string configured for the profile
34
- * @throws Error if profile is not found or defaultWorkspace is not configured
26
+ * Get the default workspace
27
+ * @returns The default workspace string
28
+ * @throws Error if defaultWorkspace is not configured
35
29
  */
36
- getDefaultWorkspace(profileName: string): string;
30
+ getDefaultWorkspace(): string;
37
31
  /**
38
32
  * Make authenticated request to Bitbucket API
39
33
  */
@@ -52,142 +46,128 @@ export declare class BitbucketUtil {
52
46
  formatResult(data: unknown, format?: 'json' | 'toon'): string;
53
47
  /**
54
48
  * List all repositories in a workspace
55
- * @param profileName - Bitbucket profile name
56
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
49
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
57
50
  * @param format - Output format (json, toon)
58
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
51
+ * @throws Error if neither workspace parameter nor default workspace is configured
59
52
  */
60
- listRepositories(profileName: string, workspace?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
53
+ listRepositories(workspace?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
61
54
  /**
62
55
  * Get repository details
63
- * @param profileName - Bitbucket profile name
64
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
56
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
65
57
  * @param repoSlug - Repository slug identifier
66
58
  * @param format - Output format (json, toon)
67
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
59
+ * @throws Error if neither workspace parameter nor default workspace is configured
68
60
  */
69
- getRepository(profileName: string, workspace: string | undefined, repoSlug: string, format?: 'json' | 'toon'): Promise<ApiResult>;
61
+ getRepository(workspace: string | undefined, repoSlug: string, format?: 'json' | 'toon'): Promise<ApiResult>;
70
62
  /**
71
63
  * List pull requests in a repository
72
- * @param profileName - Bitbucket profile name
73
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
64
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
74
65
  * @param repoSlug - Repository slug identifier
75
66
  * @param state - Filter by state (OPEN, MERGED, DECLINED, SUPERSEDED)
76
67
  * @param format - Output format (json, toon)
77
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
68
+ * @throws Error if neither workspace parameter nor default workspace is configured
78
69
  */
79
- listPullRequests(profileName: string, workspace: string | undefined, repoSlug: string, state?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
70
+ listPullRequests(workspace: string | undefined, repoSlug: string, state?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
80
71
  /**
81
72
  * Get pull request details
82
- * @param profileName - Bitbucket profile name
83
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
73
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
84
74
  * @param repoSlug - Repository slug identifier
85
75
  * @param pullRequestId - Pull request ID
86
76
  * @param format - Output format (json, toon)
87
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
77
+ * @throws Error if neither workspace parameter nor default workspace is configured
88
78
  */
89
- getPullRequest(profileName: string, workspace: string | undefined, repoSlug: string, pullRequestId: number, format?: 'json' | 'toon'): Promise<ApiResult>;
79
+ getPullRequest(workspace: string | undefined, repoSlug: string, pullRequestId: number, format?: 'json' | 'toon'): Promise<ApiResult>;
90
80
  /**
91
81
  * Get default reviewers for a repository
92
- * @param profileName - Bitbucket profile name
93
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
82
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
94
83
  * @param repoSlug - Repository slug identifier
95
84
  * @returns Array of reviewer UUIDs
96
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
85
+ * @throws Error if neither workspace parameter nor default workspace is configured
97
86
  */
98
- getDefaultReviewers(profileName: string, workspace: string | undefined, repoSlug: string): Promise<Array<{
87
+ getDefaultReviewers(workspace: string | undefined, repoSlug: string): Promise<Array<{
99
88
  uuid: string;
100
89
  }>>;
101
90
  /**
102
91
  * Create a new pull request
103
- * @param profileName - Bitbucket profile name
104
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
92
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
105
93
  * @param repoSlug - Repository slug identifier
106
94
  * @param title - Pull request title
107
95
  * @param sourceBranch - Source branch name
108
96
  * @param destinationBranch - Destination branch name
109
97
  * @param description - Pull request description (optional)
110
98
  * @param format - Output format (json, toon)
111
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
99
+ * @throws Error if neither workspace parameter nor default workspace is configured
112
100
  */
113
- createPullRequest(profileName: string, workspace: string | undefined, repoSlug: string, title: string, sourceBranch: string, destinationBranch: string, description?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
101
+ createPullRequest(workspace: string | undefined, repoSlug: string, title: string, sourceBranch: string, destinationBranch: string, description?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
114
102
  /**
115
103
  * List branches in a repository
116
- * @param profileName - Bitbucket profile name
117
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
104
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
118
105
  * @param repoSlug - Repository slug identifier
119
106
  * @param q - Query filter for branch names (optional)
120
107
  * @param sort - Sort order (optional)
121
108
  * @param format - Output format (json, toon)
122
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
109
+ * @throws Error if neither workspace parameter nor default workspace is configured
123
110
  */
124
- listBranches(profileName: string, workspace: string | undefined, repoSlug: string, q?: string, sort?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
111
+ listBranches(workspace: string | undefined, repoSlug: string, q?: string, sort?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
125
112
  /**
126
113
  * List commits in a repository
127
- * @param profileName - Bitbucket profile name
128
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
114
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
129
115
  * @param repoSlug - Repository slug identifier
130
116
  * @param branch - Branch name to limit commits to (optional)
131
117
  * @param format - Output format (json, toon)
132
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
118
+ * @throws Error if neither workspace parameter nor default workspace is configured
133
119
  */
134
- listCommits(profileName: string, workspace: string | undefined, repoSlug: string, branch?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
120
+ listCommits(workspace: string | undefined, repoSlug: string, branch?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
135
121
  /**
136
122
  * List issues in a repository
137
- * @param profileName - Bitbucket profile name
138
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
123
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
139
124
  * @param repoSlug - Repository slug identifier
140
125
  * @param format - Output format (json, toon)
141
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
126
+ * @throws Error if neither workspace parameter nor default workspace is configured
142
127
  */
143
- listIssues(profileName: string, workspace: string | undefined, repoSlug: string, format?: 'json' | 'toon'): Promise<ApiResult>;
128
+ listIssues(workspace: string | undefined, repoSlug: string, format?: 'json' | 'toon'): Promise<ApiResult>;
144
129
  /**
145
130
  * Get issue details
146
- * @param profileName - Bitbucket profile name
147
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
131
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
148
132
  * @param repoSlug - Repository slug identifier
149
133
  * @param issueId - Issue ID
150
134
  * @param format - Output format (json, toon)
151
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
135
+ * @throws Error if neither workspace parameter nor default workspace is configured
152
136
  */
153
- getIssue(profileName: string, workspace: string | undefined, repoSlug: string, issueId: number, format?: 'json' | 'toon'): Promise<ApiResult>;
137
+ getIssue(workspace: string | undefined, repoSlug: string, issueId: number, format?: 'json' | 'toon'): Promise<ApiResult>;
154
138
  /**
155
139
  * Create a new issue
156
- * @param profileName - Bitbucket profile name
157
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
140
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
158
141
  * @param repoSlug - Repository slug identifier
159
142
  * @param title - Issue title
160
143
  * @param content - Issue content/description (optional)
161
144
  * @param kind - Issue kind (bug, enhancement, proposal, task) (optional)
162
145
  * @param priority - Issue priority (trivial, minor, major, critical, blocker) (optional)
163
146
  * @param format - Output format (json, toon)
164
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
147
+ * @throws Error if neither workspace parameter nor default workspace is configured
165
148
  */
166
- createIssue(profileName: string, workspace: string | undefined, repoSlug: string, title: string, content?: string, kind?: string, priority?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
149
+ createIssue(workspace: string | undefined, repoSlug: string, title: string, content?: string, kind?: string, priority?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
167
150
  /**
168
151
  * List pipelines in a repository
169
- * @param profileName - Bitbucket profile name
170
- * @param workspace - Workspace ID or slug (optional, uses profile default if not provided)
152
+ * @param workspace - Workspace ID or slug (optional, uses default if not provided)
171
153
  * @param repoSlug - Repository slug identifier
172
154
  * @param format - Output format (json, toon)
173
- * @throws Error if neither workspace parameter nor profile defaultWorkspace is configured
155
+ * @throws Error if neither workspace parameter nor default workspace is configured
174
156
  */
175
- listPipelines(profileName: string, workspace: string | undefined, repoSlug: string, format?: 'json' | 'toon'): Promise<ApiResult>;
157
+ listPipelines(workspace: string | undefined, repoSlug: string, format?: 'json' | 'toon'): Promise<ApiResult>;
176
158
  /**
177
159
  * Get user information
178
- * @param profileName - Bitbucket profile name
179
160
  * @param userId - User UUID (optional, if not provided returns current authenticated user)
180
161
  * @param format - Output format (json, toon)
181
162
  */
182
- getUser(profileName: string, userId?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
163
+ getUser(userId?: string, format?: 'json' | 'toon'): Promise<ApiResult>;
183
164
  /**
184
165
  * Test Bitbucket API connection
185
166
  */
186
- testConnection(profileName: string): Promise<ApiResult>;
167
+ testConnection(): Promise<ApiResult>;
187
168
  /**
188
- * Clear all auth from the pool
169
+ * Clear all auth from the pool (no-op in single-profile mode)
189
170
  */
190
171
  clearClients(): void;
191
172
  }
192
- export {};
193
173
  //# sourceMappingURL=bitbucket-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitbucket-utils.d.ts","sourceRoot":"","sources":["../../src/utils/bitbucket-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAKjD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkGD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;gBAEhD,MAAM,EAAE,MAAM;IAK1B;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB;IAoBjD;;;;;OAKG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAahD;;OAEG;YACW,WAAW;IAqCzB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAInC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAQnC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,GAAE,MAAM,GAAG,MAAe,GAAG,MAAM;IAOrE;;;;;;OAMG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IAmCrB;;;;;;;OAOG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IAoBrB;;;;;;;;OAQG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IA0CrB;;;;;;;;OAQG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IAuBrB;;;;;;;OAOG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAmBnC;;;;;;;;;;;OAWG;IACG,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,EACzB,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IAyDrB;;;;;;;;;OASG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,CAAC,CAAC,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IA4CrB;;;;;;;;OAQG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IAkCrB;;;;;;;OAOG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IAkCrB;;;;;;;;OAQG;IACG,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IAuBrB;;;;;;;;;;;OAWG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IAqCrB;;;;;;;OAOG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,OAAO,CAAC,SAAS,CAAC;IAiCrB;;;;;OAKG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,MAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IA+BzG;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAmB7D;;OAEG;IACH,YAAY,IAAI,IAAI;CAGrB"}
1
+ {"version":3,"file":"bitbucket-utils.d.ts","sourceRoot":"","sources":["../../src/utils/bitbucket-utils.ts"],"names":[],"mappings":"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"}