@bbearai/core 0.4.2 → 0.4.3
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 +51 -0
- package/dist/index.d.mts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +2 -0
- package/dist/index.mjs +2 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -129,6 +129,8 @@ const context = contextCapture.getEnhancedContext();
|
|
|
129
129
|
| `getAppContext()` | Get current app context (uses config callback or auto-captured) |
|
|
130
130
|
| `getNavigationHistory()` | Get navigation history (config callback > manual > auto-captured) |
|
|
131
131
|
| `trackNavigation(route)` | Manually track a route change |
|
|
132
|
+
| `getIssueCounts()` | Get issue counts by category (open, done, reopened) |
|
|
133
|
+
| `getIssues(category)` | Get enriched issue list with verification proof and original bug context |
|
|
132
134
|
| `uploadScreenshot(file)` | Upload a screenshot |
|
|
133
135
|
|
|
134
136
|
## Types
|
|
@@ -172,6 +174,55 @@ interface TestAssignment {
|
|
|
172
174
|
priority: string;
|
|
173
175
|
};
|
|
174
176
|
}
|
|
177
|
+
|
|
178
|
+
type IssueCategory = 'open' | 'done' | 'reopened';
|
|
179
|
+
|
|
180
|
+
interface IssueCounts {
|
|
181
|
+
open: number;
|
|
182
|
+
done: number;
|
|
183
|
+
reopened: number;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
interface TesterIssue {
|
|
187
|
+
id: string;
|
|
188
|
+
title: string;
|
|
189
|
+
description: string;
|
|
190
|
+
reportType: ReportType;
|
|
191
|
+
severity: Severity | null;
|
|
192
|
+
status: ReportStatus;
|
|
193
|
+
screenshotUrls: string[];
|
|
194
|
+
route?: string;
|
|
195
|
+
reporterName?: string;
|
|
196
|
+
createdAt: string;
|
|
197
|
+
updatedAt: string;
|
|
198
|
+
verifiedByName?: string; // Who retested (done issues)
|
|
199
|
+
verifiedAt?: string; // When verification passed (done issues)
|
|
200
|
+
originalBugId?: string; // Original report ID (reopened issues)
|
|
201
|
+
originalBugTitle?: string; // Original bug title (reopened issues)
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Issue Tracking
|
|
206
|
+
|
|
207
|
+
The SDK provides methods for testers to track their bug lifecycle:
|
|
208
|
+
|
|
209
|
+
```typescript
|
|
210
|
+
// Get counts for issue cards (open, done, reopened)
|
|
211
|
+
const counts = await bugbear.getIssueCounts();
|
|
212
|
+
// { open: 3, done: 12, reopened: 1 }
|
|
213
|
+
|
|
214
|
+
// Get enriched issue list by category
|
|
215
|
+
const openIssues = await bugbear.getIssues('open');
|
|
216
|
+
const doneIssues = await bugbear.getIssues('done');
|
|
217
|
+
const reopenedIssues = await bugbear.getIssues('reopened');
|
|
218
|
+
|
|
219
|
+
// Done issues include verification proof
|
|
220
|
+
doneIssues[0].verifiedByName; // "Jane Doe"
|
|
221
|
+
doneIssues[0].verifiedAt; // "2026-02-05T12:00:00Z"
|
|
222
|
+
|
|
223
|
+
// Reopened issues include original bug context
|
|
224
|
+
reopenedIssues[0].originalBugTitle; // "Login button unresponsive"
|
|
225
|
+
reopenedIssues[0].originalBugId; // "uuid-of-original-report"
|
|
175
226
|
```
|
|
176
227
|
|
|
177
228
|
## For Framework Authors
|
package/dist/index.d.mts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
type ReportType = 'bug' | 'feedback' | 'suggestion' | 'test_pass' | 'test_fail';
|
|
5
5
|
type Severity = 'critical' | 'high' | 'medium' | 'low';
|
|
6
|
+
type BugCategory = 'ui_ux' | 'functional' | 'crash' | 'security' | 'other';
|
|
6
7
|
type ReportStatus = 'new' | 'triaging' | 'confirmed' | 'in_progress' | 'fixed' | 'ready_to_test' | 'verified' | 'resolved' | 'reviewed' | 'closed' | 'wont_fix' | 'duplicate';
|
|
7
8
|
interface AppContext {
|
|
8
9
|
/** Current route/screen path */
|
|
@@ -93,6 +94,8 @@ interface BugBearReport {
|
|
|
93
94
|
title?: string;
|
|
94
95
|
/** Severity (for bugs) */
|
|
95
96
|
severity?: Severity;
|
|
97
|
+
/** Bug category for triage */
|
|
98
|
+
category?: BugCategory;
|
|
96
99
|
/** Which step failed (for test failures) */
|
|
97
100
|
failedAtStep?: string;
|
|
98
101
|
/** Voice audio URL if voice input was used */
|
|
@@ -1065,4 +1068,4 @@ declare function captureError(error: Error, errorInfo?: {
|
|
|
1065
1068
|
componentStack?: string;
|
|
1066
1069
|
};
|
|
1067
1070
|
|
|
1068
|
-
export { type AddFindingOptions, type AppContext, BugBearClient, type BugBearConfig, type BugBearReport, type BugBearTheme, type ChecklistItem, type ChecklistResult, type ConsoleLogEntry, type CoverageGap, type CoverageMatrixCell, type CoverageMatrixRow, type DeployChecklist, type DeviceInfo, type EndSessionOptions, type EnhancedBugContext, type FindingSeverity, type FindingType, type HostUserInfo, type IssueCategory, type IssueCounts, type MessageSenderType, type NetworkRequest, type PriorityFactors, type ProjectRole, type QAFinding, type QAHealthMetrics, type QAHealthScore, type QASession, type QASessionStatus, type QATrack, type RegressionEvent, type ReportStatus, type ReportType, type RoutePriority, type RouteTestStats, type RubricMode, type RubricResult, type Severity, type SkipReason, type StartSessionOptions, type SubmitFeedbackOptions, type TestAssignment, type TestFeedback, type TestGroup, type TestResult, type TestStep, type TestTemplate, type TesterInfo, type TesterIssue, type TesterMessage, type TesterProfileUpdate, type TesterThread, type ThreadPriority, type ThreadType, captureError, contextCapture, createBugBear };
|
|
1071
|
+
export { type AddFindingOptions, type AppContext, BugBearClient, type BugBearConfig, type BugBearReport, type BugBearTheme, type BugCategory, type ChecklistItem, type ChecklistResult, type ConsoleLogEntry, type CoverageGap, type CoverageMatrixCell, type CoverageMatrixRow, type DeployChecklist, type DeviceInfo, type EndSessionOptions, type EnhancedBugContext, type FindingSeverity, type FindingType, type HostUserInfo, type IssueCategory, type IssueCounts, type MessageSenderType, type NetworkRequest, type PriorityFactors, type ProjectRole, type QAFinding, type QAHealthMetrics, type QAHealthScore, type QASession, type QASessionStatus, type QATrack, type RegressionEvent, type ReportStatus, type ReportType, type RoutePriority, type RouteTestStats, type RubricMode, type RubricResult, type Severity, type SkipReason, type StartSessionOptions, type SubmitFeedbackOptions, type TestAssignment, type TestFeedback, type TestGroup, type TestResult, type TestStep, type TestTemplate, type TesterInfo, type TesterIssue, type TesterMessage, type TesterProfileUpdate, type TesterThread, type ThreadPriority, type ThreadType, captureError, contextCapture, createBugBear };
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
type ReportType = 'bug' | 'feedback' | 'suggestion' | 'test_pass' | 'test_fail';
|
|
5
5
|
type Severity = 'critical' | 'high' | 'medium' | 'low';
|
|
6
|
+
type BugCategory = 'ui_ux' | 'functional' | 'crash' | 'security' | 'other';
|
|
6
7
|
type ReportStatus = 'new' | 'triaging' | 'confirmed' | 'in_progress' | 'fixed' | 'ready_to_test' | 'verified' | 'resolved' | 'reviewed' | 'closed' | 'wont_fix' | 'duplicate';
|
|
7
8
|
interface AppContext {
|
|
8
9
|
/** Current route/screen path */
|
|
@@ -93,6 +94,8 @@ interface BugBearReport {
|
|
|
93
94
|
title?: string;
|
|
94
95
|
/** Severity (for bugs) */
|
|
95
96
|
severity?: Severity;
|
|
97
|
+
/** Bug category for triage */
|
|
98
|
+
category?: BugCategory;
|
|
96
99
|
/** Which step failed (for test failures) */
|
|
97
100
|
failedAtStep?: string;
|
|
98
101
|
/** Voice audio URL if voice input was used */
|
|
@@ -1065,4 +1068,4 @@ declare function captureError(error: Error, errorInfo?: {
|
|
|
1065
1068
|
componentStack?: string;
|
|
1066
1069
|
};
|
|
1067
1070
|
|
|
1068
|
-
export { type AddFindingOptions, type AppContext, BugBearClient, type BugBearConfig, type BugBearReport, type BugBearTheme, type ChecklistItem, type ChecklistResult, type ConsoleLogEntry, type CoverageGap, type CoverageMatrixCell, type CoverageMatrixRow, type DeployChecklist, type DeviceInfo, type EndSessionOptions, type EnhancedBugContext, type FindingSeverity, type FindingType, type HostUserInfo, type IssueCategory, type IssueCounts, type MessageSenderType, type NetworkRequest, type PriorityFactors, type ProjectRole, type QAFinding, type QAHealthMetrics, type QAHealthScore, type QASession, type QASessionStatus, type QATrack, type RegressionEvent, type ReportStatus, type ReportType, type RoutePriority, type RouteTestStats, type RubricMode, type RubricResult, type Severity, type SkipReason, type StartSessionOptions, type SubmitFeedbackOptions, type TestAssignment, type TestFeedback, type TestGroup, type TestResult, type TestStep, type TestTemplate, type TesterInfo, type TesterIssue, type TesterMessage, type TesterProfileUpdate, type TesterThread, type ThreadPriority, type ThreadType, captureError, contextCapture, createBugBear };
|
|
1071
|
+
export { type AddFindingOptions, type AppContext, BugBearClient, type BugBearConfig, type BugBearReport, type BugBearTheme, type BugCategory, type ChecklistItem, type ChecklistResult, type ConsoleLogEntry, type CoverageGap, type CoverageMatrixCell, type CoverageMatrixRow, type DeployChecklist, type DeviceInfo, type EndSessionOptions, type EnhancedBugContext, type FindingSeverity, type FindingType, type HostUserInfo, type IssueCategory, type IssueCounts, type MessageSenderType, type NetworkRequest, type PriorityFactors, type ProjectRole, type QAFinding, type QAHealthMetrics, type QAHealthScore, type QASession, type QASessionStatus, type QATrack, type RegressionEvent, type ReportStatus, type ReportType, type RoutePriority, type RouteTestStats, type RubricMode, type RubricResult, type Severity, type SkipReason, type StartSessionOptions, type SubmitFeedbackOptions, type TestAssignment, type TestFeedback, type TestGroup, type TestResult, type TestStep, type TestTemplate, type TesterInfo, type TesterIssue, type TesterMessage, type TesterProfileUpdate, type TesterThread, type ThreadPriority, type ThreadType, captureError, contextCapture, createBugBear };
|
package/dist/index.js
CHANGED
|
@@ -385,6 +385,8 @@ var BugBearClient = class {
|
|
|
385
385
|
title: report.title || this.generateTitle(report),
|
|
386
386
|
description: report.description,
|
|
387
387
|
severity: report.severity,
|
|
388
|
+
category: report.category,
|
|
389
|
+
// Bug category (ui, performance, crash, etc.)
|
|
388
390
|
failed_at_step: report.failedAtStep,
|
|
389
391
|
voice_audio_url: report.voiceAudioUrl,
|
|
390
392
|
voice_transcript: report.voiceTranscript,
|
package/dist/index.mjs
CHANGED
|
@@ -356,6 +356,8 @@ var BugBearClient = class {
|
|
|
356
356
|
title: report.title || this.generateTitle(report),
|
|
357
357
|
description: report.description,
|
|
358
358
|
severity: report.severity,
|
|
359
|
+
category: report.category,
|
|
360
|
+
// Bug category (ui, performance, crash, etc.)
|
|
359
361
|
failed_at_step: report.failedAtStep,
|
|
360
362
|
voice_audio_url: report.voiceAudioUrl,
|
|
361
363
|
voice_transcript: report.voiceTranscript,
|