@bbearai/core 0.4.6 → 0.5.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.
- package/dist/index.d.mts +154 -6
- package/dist/index.d.ts +154 -6
- package/dist/index.js +341 -23
- package/dist/index.mjs +337 -22
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -134,10 +134,10 @@ interface HostUserInfo {
|
|
|
134
134
|
interface BugBearConfig {
|
|
135
135
|
/** Your BugBear project ID */
|
|
136
136
|
projectId: string;
|
|
137
|
-
/** Supabase URL
|
|
138
|
-
supabaseUrl
|
|
139
|
-
/** Supabase anon key */
|
|
140
|
-
supabaseAnonKey
|
|
137
|
+
/** Supabase URL for the BugBear backend */
|
|
138
|
+
supabaseUrl: string;
|
|
139
|
+
/** Supabase anon key for the BugBear backend */
|
|
140
|
+
supabaseAnonKey: string;
|
|
141
141
|
/** Enable voice input */
|
|
142
142
|
enableVoice?: boolean;
|
|
143
143
|
/** Enable screenshot capture */
|
|
@@ -173,6 +173,27 @@ interface BugBearConfig {
|
|
|
173
173
|
* Wire this to your error reporting service (e.g. Sentry.captureException).
|
|
174
174
|
*/
|
|
175
175
|
onError?: (error: Error, context?: Record<string, unknown>) => void;
|
|
176
|
+
/**
|
|
177
|
+
* Enable offline queue for network-resilient submissions.
|
|
178
|
+
* When a submitReport, sendMessage, or submitTestFeedback call fails
|
|
179
|
+
* due to a network error, the operation is stored locally and retried
|
|
180
|
+
* when connectivity returns.
|
|
181
|
+
*/
|
|
182
|
+
offlineQueue?: {
|
|
183
|
+
enabled: boolean;
|
|
184
|
+
/** Maximum items to keep in the queue (oldest evicted first). Default 50. */
|
|
185
|
+
maxItems?: number;
|
|
186
|
+
/** Maximum retry attempts per item before it is dropped. Default 5. */
|
|
187
|
+
maxRetries?: number;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Enable Supabase Realtime subscriptions for instant updates.
|
|
191
|
+
* Subscribes to changes on test_assignments, discussion_messages, and reports.
|
|
192
|
+
* Falls back to polling if subscription fails.
|
|
193
|
+
*/
|
|
194
|
+
realtime?: {
|
|
195
|
+
enabled: boolean;
|
|
196
|
+
};
|
|
176
197
|
}
|
|
177
198
|
interface BugBearTheme {
|
|
178
199
|
/** Primary brand color */
|
|
@@ -650,6 +671,97 @@ interface TesterIssue {
|
|
|
650
671
|
originalBugTitle?: string;
|
|
651
672
|
}
|
|
652
673
|
|
|
674
|
+
/**
|
|
675
|
+
* BugBear Offline Queue
|
|
676
|
+
*
|
|
677
|
+
* Persists failed network operations and retries them when connectivity returns.
|
|
678
|
+
* Uses a StorageAdapter interface so web (localStorage) and React Native
|
|
679
|
+
* (AsyncStorage) can each supply their own persistence layer.
|
|
680
|
+
*/
|
|
681
|
+
/** Platform-agnostic async storage interface. */
|
|
682
|
+
interface StorageAdapter {
|
|
683
|
+
getItem(key: string): Promise<string | null>;
|
|
684
|
+
setItem(key: string, value: string): Promise<void>;
|
|
685
|
+
removeItem(key: string): Promise<void>;
|
|
686
|
+
}
|
|
687
|
+
/**
|
|
688
|
+
* Default adapter that wraps `window.localStorage`.
|
|
689
|
+
* Falls back to in-memory storage when localStorage is unavailable
|
|
690
|
+
* (e.g. SSR, workers, or storage quota exceeded).
|
|
691
|
+
*/
|
|
692
|
+
declare class LocalStorageAdapter implements StorageAdapter {
|
|
693
|
+
private fallback;
|
|
694
|
+
private get isAvailable();
|
|
695
|
+
getItem(key: string): Promise<string | null>;
|
|
696
|
+
setItem(key: string, value: string): Promise<void>;
|
|
697
|
+
removeItem(key: string): Promise<void>;
|
|
698
|
+
}
|
|
699
|
+
type QueueItemType = 'report' | 'message' | 'feedback';
|
|
700
|
+
interface QueueItem {
|
|
701
|
+
/** Unique ID for this queued operation. */
|
|
702
|
+
id: string;
|
|
703
|
+
/** Which client method to replay. */
|
|
704
|
+
type: QueueItemType;
|
|
705
|
+
/** Already-enriched payload ready for INSERT/RPC. */
|
|
706
|
+
payload: unknown;
|
|
707
|
+
/** Epoch ms when the item was queued. */
|
|
708
|
+
createdAt: number;
|
|
709
|
+
/** How many times flush has tried (and failed) to replay this item. */
|
|
710
|
+
retries: number;
|
|
711
|
+
}
|
|
712
|
+
interface OfflineQueueConfig {
|
|
713
|
+
enabled: boolean;
|
|
714
|
+
/** Maximum items to keep in the queue (oldest evicted first). Default 50. */
|
|
715
|
+
maxItems?: number;
|
|
716
|
+
/** Maximum retry attempts per item before it is dropped. Default 5. */
|
|
717
|
+
maxRetries?: number;
|
|
718
|
+
/** Platform-specific storage adapter. Default: LocalStorageAdapter. */
|
|
719
|
+
storage?: StorageAdapter;
|
|
720
|
+
}
|
|
721
|
+
type FlushHandler = (payload: unknown) => Promise<{
|
|
722
|
+
success: boolean;
|
|
723
|
+
error?: string;
|
|
724
|
+
}>;
|
|
725
|
+
declare class OfflineQueue {
|
|
726
|
+
private items;
|
|
727
|
+
private maxItems;
|
|
728
|
+
private maxRetries;
|
|
729
|
+
private storage;
|
|
730
|
+
private storageKey;
|
|
731
|
+
private flushing;
|
|
732
|
+
private handlers;
|
|
733
|
+
private listener?;
|
|
734
|
+
constructor(config: OfflineQueueConfig);
|
|
735
|
+
/** Register a handler that replays a queued operation. */
|
|
736
|
+
registerHandler(type: QueueItemType, handler: FlushHandler): void;
|
|
737
|
+
/** Subscribe to queue count changes (for UI badges). */
|
|
738
|
+
onChange(callback: (count: number) => void): void;
|
|
739
|
+
private notify;
|
|
740
|
+
/** Load queue from persistent storage. Call once after construction. */
|
|
741
|
+
load(): Promise<void>;
|
|
742
|
+
private save;
|
|
743
|
+
/** Add a failed operation to the queue. Returns the item ID. */
|
|
744
|
+
enqueue(type: QueueItemType, payload: unknown): Promise<string>;
|
|
745
|
+
/** Number of items waiting to be flushed. */
|
|
746
|
+
get count(): number;
|
|
747
|
+
/** Read-only snapshot of pending items. */
|
|
748
|
+
get pending(): readonly QueueItem[];
|
|
749
|
+
/** Whether a flush is currently in progress. */
|
|
750
|
+
get isFlushing(): boolean;
|
|
751
|
+
/**
|
|
752
|
+
* Process all queued items in FIFO order.
|
|
753
|
+
* Stops early if a network error is encountered (still offline).
|
|
754
|
+
*/
|
|
755
|
+
flush(): Promise<{
|
|
756
|
+
flushed: number;
|
|
757
|
+
failed: number;
|
|
758
|
+
}>;
|
|
759
|
+
/** Drop all queued items. */
|
|
760
|
+
clear(): Promise<void>;
|
|
761
|
+
}
|
|
762
|
+
/** Heuristic: does this error string look like a connectivity failure? */
|
|
763
|
+
declare function isNetworkError(error?: string | null): boolean;
|
|
764
|
+
|
|
653
765
|
/**
|
|
654
766
|
* BugBear Client
|
|
655
767
|
* Handles communication with the BugBear backend
|
|
@@ -660,7 +772,38 @@ declare class BugBearClient {
|
|
|
660
772
|
private config;
|
|
661
773
|
private navigationHistory;
|
|
662
774
|
private reportSubmitInFlight;
|
|
775
|
+
/** Offline queue — only created when config.offlineQueue.enabled is true. */
|
|
776
|
+
private _queue;
|
|
777
|
+
/** Active Realtime channel references for cleanup. */
|
|
778
|
+
private realtimeChannels;
|
|
663
779
|
constructor(config: BugBearConfig);
|
|
780
|
+
/**
|
|
781
|
+
* Access the offline queue (if enabled).
|
|
782
|
+
* Use this to check queue.count, subscribe to changes, or trigger flush.
|
|
783
|
+
*/
|
|
784
|
+
get queue(): OfflineQueue | null;
|
|
785
|
+
/**
|
|
786
|
+
* Initialize the offline queue with a platform-specific storage adapter.
|
|
787
|
+
* Must be called after construction for React Native (which supplies AsyncStorage).
|
|
788
|
+
* Web callers can skip this — LocalStorageAdapter is the default.
|
|
789
|
+
*/
|
|
790
|
+
initQueue(storage?: StorageAdapter): Promise<void>;
|
|
791
|
+
private registerQueueHandlers;
|
|
792
|
+
/** Whether realtime is enabled in config. */
|
|
793
|
+
get realtimeEnabled(): boolean;
|
|
794
|
+
/**
|
|
795
|
+
* Subscribe to postgres_changes on relevant tables.
|
|
796
|
+
* Each callback fires when the corresponding table has changes —
|
|
797
|
+
* the provider should call its refresh function in response.
|
|
798
|
+
* Returns a cleanup function that unsubscribes all channels.
|
|
799
|
+
*/
|
|
800
|
+
subscribeToChanges(callbacks: {
|
|
801
|
+
onAssignmentChange?: () => void;
|
|
802
|
+
onMessageChange?: () => void;
|
|
803
|
+
onReportChange?: () => void;
|
|
804
|
+
}): () => void;
|
|
805
|
+
/** Remove all active Realtime channels. */
|
|
806
|
+
unsubscribeAll(): void;
|
|
664
807
|
/**
|
|
665
808
|
* Track navigation for context.
|
|
666
809
|
* Also forwards to contextCapture for auto-tracked navigation.
|
|
@@ -688,13 +831,17 @@ declare class BugBearClient {
|
|
|
688
831
|
}): Promise<{
|
|
689
832
|
success: boolean;
|
|
690
833
|
reportId?: string;
|
|
834
|
+
queued?: boolean;
|
|
691
835
|
error?: string;
|
|
692
836
|
}>;
|
|
693
837
|
/**
|
|
694
838
|
* Get assigned tests for current user
|
|
695
839
|
* First looks up the tester by email, then fetches their assignments
|
|
696
840
|
*/
|
|
697
|
-
getAssignedTests(
|
|
841
|
+
getAssignedTests(options?: {
|
|
842
|
+
page?: number;
|
|
843
|
+
pageSize?: number;
|
|
844
|
+
}): Promise<TestAssignment[]>;
|
|
698
845
|
/**
|
|
699
846
|
* Get assignment by ID with time tracking fields
|
|
700
847
|
*/
|
|
@@ -751,6 +898,7 @@ declare class BugBearClient {
|
|
|
751
898
|
*/
|
|
752
899
|
submitTestFeedback(options: SubmitFeedbackOptions): Promise<{
|
|
753
900
|
success: boolean;
|
|
901
|
+
queued?: boolean;
|
|
754
902
|
error?: string;
|
|
755
903
|
}>;
|
|
756
904
|
/**
|
|
@@ -1073,4 +1221,4 @@ declare function captureError(error: Error, errorInfo?: {
|
|
|
1073
1221
|
componentStack?: string;
|
|
1074
1222
|
};
|
|
1075
1223
|
|
|
1076
|
-
export { type AddFindingOptions, type AppContext, BUG_CATEGORIES, 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, isBugCategory };
|
|
1224
|
+
export { type AddFindingOptions, type AppContext, BUG_CATEGORIES, 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, LocalStorageAdapter, type MessageSenderType, type NetworkRequest, OfflineQueue, type OfflineQueueConfig, type PriorityFactors, type ProjectRole, type QAFinding, type QAHealthMetrics, type QAHealthScore, type QASession, type QASessionStatus, type QATrack, type QueueItem, type QueueItemType, type RegressionEvent, type ReportStatus, type ReportType, type RoutePriority, type RouteTestStats, type RubricMode, type RubricResult, type Severity, type SkipReason, type StartSessionOptions, type StorageAdapter, 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, isBugCategory, isNetworkError };
|
package/dist/index.d.ts
CHANGED
|
@@ -134,10 +134,10 @@ interface HostUserInfo {
|
|
|
134
134
|
interface BugBearConfig {
|
|
135
135
|
/** Your BugBear project ID */
|
|
136
136
|
projectId: string;
|
|
137
|
-
/** Supabase URL
|
|
138
|
-
supabaseUrl
|
|
139
|
-
/** Supabase anon key */
|
|
140
|
-
supabaseAnonKey
|
|
137
|
+
/** Supabase URL for the BugBear backend */
|
|
138
|
+
supabaseUrl: string;
|
|
139
|
+
/** Supabase anon key for the BugBear backend */
|
|
140
|
+
supabaseAnonKey: string;
|
|
141
141
|
/** Enable voice input */
|
|
142
142
|
enableVoice?: boolean;
|
|
143
143
|
/** Enable screenshot capture */
|
|
@@ -173,6 +173,27 @@ interface BugBearConfig {
|
|
|
173
173
|
* Wire this to your error reporting service (e.g. Sentry.captureException).
|
|
174
174
|
*/
|
|
175
175
|
onError?: (error: Error, context?: Record<string, unknown>) => void;
|
|
176
|
+
/**
|
|
177
|
+
* Enable offline queue for network-resilient submissions.
|
|
178
|
+
* When a submitReport, sendMessage, or submitTestFeedback call fails
|
|
179
|
+
* due to a network error, the operation is stored locally and retried
|
|
180
|
+
* when connectivity returns.
|
|
181
|
+
*/
|
|
182
|
+
offlineQueue?: {
|
|
183
|
+
enabled: boolean;
|
|
184
|
+
/** Maximum items to keep in the queue (oldest evicted first). Default 50. */
|
|
185
|
+
maxItems?: number;
|
|
186
|
+
/** Maximum retry attempts per item before it is dropped. Default 5. */
|
|
187
|
+
maxRetries?: number;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Enable Supabase Realtime subscriptions for instant updates.
|
|
191
|
+
* Subscribes to changes on test_assignments, discussion_messages, and reports.
|
|
192
|
+
* Falls back to polling if subscription fails.
|
|
193
|
+
*/
|
|
194
|
+
realtime?: {
|
|
195
|
+
enabled: boolean;
|
|
196
|
+
};
|
|
176
197
|
}
|
|
177
198
|
interface BugBearTheme {
|
|
178
199
|
/** Primary brand color */
|
|
@@ -650,6 +671,97 @@ interface TesterIssue {
|
|
|
650
671
|
originalBugTitle?: string;
|
|
651
672
|
}
|
|
652
673
|
|
|
674
|
+
/**
|
|
675
|
+
* BugBear Offline Queue
|
|
676
|
+
*
|
|
677
|
+
* Persists failed network operations and retries them when connectivity returns.
|
|
678
|
+
* Uses a StorageAdapter interface so web (localStorage) and React Native
|
|
679
|
+
* (AsyncStorage) can each supply their own persistence layer.
|
|
680
|
+
*/
|
|
681
|
+
/** Platform-agnostic async storage interface. */
|
|
682
|
+
interface StorageAdapter {
|
|
683
|
+
getItem(key: string): Promise<string | null>;
|
|
684
|
+
setItem(key: string, value: string): Promise<void>;
|
|
685
|
+
removeItem(key: string): Promise<void>;
|
|
686
|
+
}
|
|
687
|
+
/**
|
|
688
|
+
* Default adapter that wraps `window.localStorage`.
|
|
689
|
+
* Falls back to in-memory storage when localStorage is unavailable
|
|
690
|
+
* (e.g. SSR, workers, or storage quota exceeded).
|
|
691
|
+
*/
|
|
692
|
+
declare class LocalStorageAdapter implements StorageAdapter {
|
|
693
|
+
private fallback;
|
|
694
|
+
private get isAvailable();
|
|
695
|
+
getItem(key: string): Promise<string | null>;
|
|
696
|
+
setItem(key: string, value: string): Promise<void>;
|
|
697
|
+
removeItem(key: string): Promise<void>;
|
|
698
|
+
}
|
|
699
|
+
type QueueItemType = 'report' | 'message' | 'feedback';
|
|
700
|
+
interface QueueItem {
|
|
701
|
+
/** Unique ID for this queued operation. */
|
|
702
|
+
id: string;
|
|
703
|
+
/** Which client method to replay. */
|
|
704
|
+
type: QueueItemType;
|
|
705
|
+
/** Already-enriched payload ready for INSERT/RPC. */
|
|
706
|
+
payload: unknown;
|
|
707
|
+
/** Epoch ms when the item was queued. */
|
|
708
|
+
createdAt: number;
|
|
709
|
+
/** How many times flush has tried (and failed) to replay this item. */
|
|
710
|
+
retries: number;
|
|
711
|
+
}
|
|
712
|
+
interface OfflineQueueConfig {
|
|
713
|
+
enabled: boolean;
|
|
714
|
+
/** Maximum items to keep in the queue (oldest evicted first). Default 50. */
|
|
715
|
+
maxItems?: number;
|
|
716
|
+
/** Maximum retry attempts per item before it is dropped. Default 5. */
|
|
717
|
+
maxRetries?: number;
|
|
718
|
+
/** Platform-specific storage adapter. Default: LocalStorageAdapter. */
|
|
719
|
+
storage?: StorageAdapter;
|
|
720
|
+
}
|
|
721
|
+
type FlushHandler = (payload: unknown) => Promise<{
|
|
722
|
+
success: boolean;
|
|
723
|
+
error?: string;
|
|
724
|
+
}>;
|
|
725
|
+
declare class OfflineQueue {
|
|
726
|
+
private items;
|
|
727
|
+
private maxItems;
|
|
728
|
+
private maxRetries;
|
|
729
|
+
private storage;
|
|
730
|
+
private storageKey;
|
|
731
|
+
private flushing;
|
|
732
|
+
private handlers;
|
|
733
|
+
private listener?;
|
|
734
|
+
constructor(config: OfflineQueueConfig);
|
|
735
|
+
/** Register a handler that replays a queued operation. */
|
|
736
|
+
registerHandler(type: QueueItemType, handler: FlushHandler): void;
|
|
737
|
+
/** Subscribe to queue count changes (for UI badges). */
|
|
738
|
+
onChange(callback: (count: number) => void): void;
|
|
739
|
+
private notify;
|
|
740
|
+
/** Load queue from persistent storage. Call once after construction. */
|
|
741
|
+
load(): Promise<void>;
|
|
742
|
+
private save;
|
|
743
|
+
/** Add a failed operation to the queue. Returns the item ID. */
|
|
744
|
+
enqueue(type: QueueItemType, payload: unknown): Promise<string>;
|
|
745
|
+
/** Number of items waiting to be flushed. */
|
|
746
|
+
get count(): number;
|
|
747
|
+
/** Read-only snapshot of pending items. */
|
|
748
|
+
get pending(): readonly QueueItem[];
|
|
749
|
+
/** Whether a flush is currently in progress. */
|
|
750
|
+
get isFlushing(): boolean;
|
|
751
|
+
/**
|
|
752
|
+
* Process all queued items in FIFO order.
|
|
753
|
+
* Stops early if a network error is encountered (still offline).
|
|
754
|
+
*/
|
|
755
|
+
flush(): Promise<{
|
|
756
|
+
flushed: number;
|
|
757
|
+
failed: number;
|
|
758
|
+
}>;
|
|
759
|
+
/** Drop all queued items. */
|
|
760
|
+
clear(): Promise<void>;
|
|
761
|
+
}
|
|
762
|
+
/** Heuristic: does this error string look like a connectivity failure? */
|
|
763
|
+
declare function isNetworkError(error?: string | null): boolean;
|
|
764
|
+
|
|
653
765
|
/**
|
|
654
766
|
* BugBear Client
|
|
655
767
|
* Handles communication with the BugBear backend
|
|
@@ -660,7 +772,38 @@ declare class BugBearClient {
|
|
|
660
772
|
private config;
|
|
661
773
|
private navigationHistory;
|
|
662
774
|
private reportSubmitInFlight;
|
|
775
|
+
/** Offline queue — only created when config.offlineQueue.enabled is true. */
|
|
776
|
+
private _queue;
|
|
777
|
+
/** Active Realtime channel references for cleanup. */
|
|
778
|
+
private realtimeChannels;
|
|
663
779
|
constructor(config: BugBearConfig);
|
|
780
|
+
/**
|
|
781
|
+
* Access the offline queue (if enabled).
|
|
782
|
+
* Use this to check queue.count, subscribe to changes, or trigger flush.
|
|
783
|
+
*/
|
|
784
|
+
get queue(): OfflineQueue | null;
|
|
785
|
+
/**
|
|
786
|
+
* Initialize the offline queue with a platform-specific storage adapter.
|
|
787
|
+
* Must be called after construction for React Native (which supplies AsyncStorage).
|
|
788
|
+
* Web callers can skip this — LocalStorageAdapter is the default.
|
|
789
|
+
*/
|
|
790
|
+
initQueue(storage?: StorageAdapter): Promise<void>;
|
|
791
|
+
private registerQueueHandlers;
|
|
792
|
+
/** Whether realtime is enabled in config. */
|
|
793
|
+
get realtimeEnabled(): boolean;
|
|
794
|
+
/**
|
|
795
|
+
* Subscribe to postgres_changes on relevant tables.
|
|
796
|
+
* Each callback fires when the corresponding table has changes —
|
|
797
|
+
* the provider should call its refresh function in response.
|
|
798
|
+
* Returns a cleanup function that unsubscribes all channels.
|
|
799
|
+
*/
|
|
800
|
+
subscribeToChanges(callbacks: {
|
|
801
|
+
onAssignmentChange?: () => void;
|
|
802
|
+
onMessageChange?: () => void;
|
|
803
|
+
onReportChange?: () => void;
|
|
804
|
+
}): () => void;
|
|
805
|
+
/** Remove all active Realtime channels. */
|
|
806
|
+
unsubscribeAll(): void;
|
|
664
807
|
/**
|
|
665
808
|
* Track navigation for context.
|
|
666
809
|
* Also forwards to contextCapture for auto-tracked navigation.
|
|
@@ -688,13 +831,17 @@ declare class BugBearClient {
|
|
|
688
831
|
}): Promise<{
|
|
689
832
|
success: boolean;
|
|
690
833
|
reportId?: string;
|
|
834
|
+
queued?: boolean;
|
|
691
835
|
error?: string;
|
|
692
836
|
}>;
|
|
693
837
|
/**
|
|
694
838
|
* Get assigned tests for current user
|
|
695
839
|
* First looks up the tester by email, then fetches their assignments
|
|
696
840
|
*/
|
|
697
|
-
getAssignedTests(
|
|
841
|
+
getAssignedTests(options?: {
|
|
842
|
+
page?: number;
|
|
843
|
+
pageSize?: number;
|
|
844
|
+
}): Promise<TestAssignment[]>;
|
|
698
845
|
/**
|
|
699
846
|
* Get assignment by ID with time tracking fields
|
|
700
847
|
*/
|
|
@@ -751,6 +898,7 @@ declare class BugBearClient {
|
|
|
751
898
|
*/
|
|
752
899
|
submitTestFeedback(options: SubmitFeedbackOptions): Promise<{
|
|
753
900
|
success: boolean;
|
|
901
|
+
queued?: boolean;
|
|
754
902
|
error?: string;
|
|
755
903
|
}>;
|
|
756
904
|
/**
|
|
@@ -1073,4 +1221,4 @@ declare function captureError(error: Error, errorInfo?: {
|
|
|
1073
1221
|
componentStack?: string;
|
|
1074
1222
|
};
|
|
1075
1223
|
|
|
1076
|
-
export { type AddFindingOptions, type AppContext, BUG_CATEGORIES, 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, isBugCategory };
|
|
1224
|
+
export { type AddFindingOptions, type AppContext, BUG_CATEGORIES, 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, LocalStorageAdapter, type MessageSenderType, type NetworkRequest, OfflineQueue, type OfflineQueueConfig, type PriorityFactors, type ProjectRole, type QAFinding, type QAHealthMetrics, type QAHealthScore, type QASession, type QASessionStatus, type QATrack, type QueueItem, type QueueItemType, type RegressionEvent, type ReportStatus, type ReportType, type RoutePriority, type RouteTestStats, type RubricMode, type RubricResult, type Severity, type SkipReason, type StartSessionOptions, type StorageAdapter, 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, isBugCategory, isNetworkError };
|