@backtrack-js/browser 0.4.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/LICENSE +9 -0
- package/README.md +291 -0
- package/bin/cli.cjs +51 -0
- package/bin/cli.js +2 -0
- package/bin/symbolize.cjs +654 -0
- package/bin/viewer.cjs +143 -0
- package/dist/capturers/console.d.ts +18 -0
- package/dist/capturers/console.d.ts.map +1 -0
- package/dist/capturers/errors.d.ts +22 -0
- package/dist/capturers/errors.d.ts.map +1 -0
- package/dist/capturers/index.d.ts +8 -0
- package/dist/capturers/index.d.ts.map +1 -0
- package/dist/capturers/navigation.d.ts +20 -0
- package/dist/capturers/navigation.d.ts.map +1 -0
- package/dist/capturers/network.d.ts +30 -0
- package/dist/capturers/network.d.ts.map +1 -0
- package/dist/capturers/performance.d.ts +15 -0
- package/dist/capturers/performance.d.ts.map +1 -0
- package/dist/capturers/route-matcher.d.ts +10 -0
- package/dist/capturers/route-matcher.d.ts.map +1 -0
- package/dist/capturers/rrweb.d.ts +18 -0
- package/dist/capturers/rrweb.d.ts.map +1 -0
- package/dist/capturers/sanitizer.d.ts +37 -0
- package/dist/capturers/sanitizer.d.ts.map +1 -0
- package/dist/core/flight-recorder.d.ts +75 -0
- package/dist/core/flight-recorder.d.ts.map +1 -0
- package/dist/core/state-machine.d.ts +55 -0
- package/dist/core/state-machine.d.ts.map +1 -0
- package/dist/index.cjs +1803 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5763 -0
- package/dist/index.js.map +1 -0
- package/dist/storage/batch-writer.d.ts +57 -0
- package/dist/storage/batch-writer.d.ts.map +1 -0
- package/dist/storage/db.d.ts +39 -0
- package/dist/storage/db.d.ts.map +1 -0
- package/dist/storage/incident-manager.d.ts +107 -0
- package/dist/storage/incident-manager.d.ts.map +1 -0
- package/dist/storage/index.d.ts +6 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/retention.d.ts +41 -0
- package/dist/storage/retention.d.ts.map +1 -0
- package/dist/storage/session.d.ts +32 -0
- package/dist/storage/session.d.ts.map +1 -0
- package/dist/types/artifact.d.ts +72 -0
- package/dist/types/artifact.d.ts.map +1 -0
- package/dist/types/chunk.d.ts +32 -0
- package/dist/types/chunk.d.ts.map +1 -0
- package/dist/types/health.d.ts +16 -0
- package/dist/types/health.d.ts.map +1 -0
- package/dist/types/incident.d.ts +35 -0
- package/dist/types/incident.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/options.d.ts +84 -0
- package/dist/types/options.d.ts.map +1 -0
- package/dist/types/timeline.d.ts +74 -0
- package/dist/types/timeline.d.ts.map +1 -0
- package/dist/types/transport.d.ts +6 -0
- package/dist/types/transport.d.ts.map +1 -0
- package/dist/utils/compression.d.ts +28 -0
- package/dist/utils/compression.d.ts.map +1 -0
- package/dist/utils/gist-uploader.d.ts +12 -0
- package/dist/utils/gist-uploader.d.ts.map +1 -0
- package/dist/utils/markdown.d.ts +12 -0
- package/dist/utils/markdown.d.ts.map +1 -0
- package/dist/validation/validate.d.ts +27 -0
- package/dist/validation/validate.d.ts.map +1 -0
- package/dist/viewer/assets/backtrack-favico-Ds-TMW85.png +0 -0
- package/dist/viewer/assets/index-D6J82Kcf.js +191 -0
- package/dist/viewer/assets/index-cVrM07fr.css +1 -0
- package/dist/viewer/index.html +19 -0
- package/dist/widget/annotator.d.ts +85 -0
- package/dist/widget/annotator.d.ts.map +1 -0
- package/dist/widget/styles.d.ts +2 -0
- package/dist/widget/styles.d.ts.map +1 -0
- package/dist/widget/widget.d.ts +78 -0
- package/dist/widget/widget.d.ts.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export type TimelineEventType = 'console' | 'error' | 'network' | 'navigation' | 'marker' | 'performance';
|
|
2
|
+
export interface TimelineEventBase {
|
|
3
|
+
id: string;
|
|
4
|
+
timestamp: number;
|
|
5
|
+
sequence: number;
|
|
6
|
+
type: TimelineEventType;
|
|
7
|
+
}
|
|
8
|
+
export type ConsoleLogLevel = 'log' | 'warn' | 'error';
|
|
9
|
+
export interface ConsoleTimelineEvent extends TimelineEventBase {
|
|
10
|
+
type: 'console';
|
|
11
|
+
level: ConsoleLogLevel;
|
|
12
|
+
args: unknown[];
|
|
13
|
+
}
|
|
14
|
+
export type ErrorSource = 'window' | 'unhandledrejection' | 'react' | 'manual';
|
|
15
|
+
export interface SourceCodeContext {
|
|
16
|
+
before: string[];
|
|
17
|
+
line: string;
|
|
18
|
+
after: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface ResolvedStackFrame {
|
|
21
|
+
generatedFile: string;
|
|
22
|
+
generatedLine: number;
|
|
23
|
+
generatedColumn: number;
|
|
24
|
+
sourceFile?: string;
|
|
25
|
+
sourceLine?: number;
|
|
26
|
+
sourceColumn?: number;
|
|
27
|
+
functionName?: string;
|
|
28
|
+
context?: SourceCodeContext;
|
|
29
|
+
}
|
|
30
|
+
export interface ErrorTimelineEvent extends TimelineEventBase {
|
|
31
|
+
type: 'error';
|
|
32
|
+
name: string;
|
|
33
|
+
message: string;
|
|
34
|
+
stack?: string;
|
|
35
|
+
filename?: string;
|
|
36
|
+
lineno?: number;
|
|
37
|
+
colno?: number;
|
|
38
|
+
source: ErrorSource;
|
|
39
|
+
componentStack?: string;
|
|
40
|
+
resolvedStack?: ResolvedStackFrame[];
|
|
41
|
+
}
|
|
42
|
+
export type NetworkResult = 'success' | 'error' | 'timeout' | 'abort';
|
|
43
|
+
export interface NetworkTimelineEvent extends TimelineEventBase {
|
|
44
|
+
type: 'network';
|
|
45
|
+
method: string;
|
|
46
|
+
url: string;
|
|
47
|
+
status: number;
|
|
48
|
+
durationMs: number;
|
|
49
|
+
result: NetworkResult;
|
|
50
|
+
requestHeaders?: Record<string, string>;
|
|
51
|
+
requestBody?: string;
|
|
52
|
+
responseHeaders?: Record<string, string>;
|
|
53
|
+
responseBody?: string;
|
|
54
|
+
}
|
|
55
|
+
export type NavigationKind = 'initial' | 'pushState' | 'replaceState' | 'popstate' | 'hashchange';
|
|
56
|
+
export interface NavigationTimelineEvent extends TimelineEventBase {
|
|
57
|
+
type: 'navigation';
|
|
58
|
+
fromUrl?: string;
|
|
59
|
+
toUrl: string;
|
|
60
|
+
kind: NavigationKind;
|
|
61
|
+
}
|
|
62
|
+
export interface MarkerTimelineEvent extends TimelineEventBase {
|
|
63
|
+
type: 'marker';
|
|
64
|
+
label: string;
|
|
65
|
+
data?: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
export interface PerformanceTimelineEvent extends TimelineEventBase {
|
|
68
|
+
type: 'performance';
|
|
69
|
+
metric: 'longtask' | 'fps_drop';
|
|
70
|
+
durationMs: number;
|
|
71
|
+
details?: string;
|
|
72
|
+
}
|
|
73
|
+
export type TimelineEvent = ConsoleTimelineEvent | ErrorTimelineEvent | NetworkTimelineEvent | NavigationTimelineEvent | MarkerTimelineEvent | PerformanceTimelineEvent;
|
|
74
|
+
//# sourceMappingURL=timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/types/timeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FlightRecorderArtifact } from './artifact';
|
|
2
|
+
export interface BacktrackTransport {
|
|
3
|
+
send(artifact: FlightRecorderArtifact): Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
export type BeforeSend = (artifact: FlightRecorderArtifact) => FlightRecorderArtifact | null | Promise<FlightRecorderArtifact | null>;
|
|
6
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,MAAM,MAAM,UAAU,GAAG,CACvB,QAAQ,EAAE,sBAAsB,KAE9B,sBAAsB,GACtB,IAAI,GACJ,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { FlightRecorderArtifact } from '../types/artifact';
|
|
2
|
+
export declare const MAX_ARTIFACT_BYTES: number;
|
|
3
|
+
/** Cancels the producer as soon as the accumulated bytes exceed the limit. */
|
|
4
|
+
export declare function readLimitedStream(stream: ReadableStream<Uint8Array>, limit?: number): Promise<Uint8Array>;
|
|
5
|
+
export declare function readResponseBytes(response: Response, limit?: number): Promise<Uint8Array>;
|
|
6
|
+
/**
|
|
7
|
+
* Verifica se os bytes contêm o número mágico do cabeçalho Gzip (0x1f, 0x8b).
|
|
8
|
+
*/
|
|
9
|
+
export declare function isGzip(bytes: Uint8Array): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Comprime uma string UTF-8 ou Uint8Array utilizando CompressionStream('gzip') nativo.
|
|
12
|
+
*/
|
|
13
|
+
export declare function compressGzip(data: string | Uint8Array): Promise<Uint8Array>;
|
|
14
|
+
/**
|
|
15
|
+
* Descompacta bytes Gzip para string UTF-8 utilizando DecompressionStream('gzip') nativo.
|
|
16
|
+
* Se os bytes não forem Gzip, decodifica diretamente como UTF-8.
|
|
17
|
+
*/
|
|
18
|
+
export declare function decompressGzip(data: Uint8Array, limit?: number): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Serializa um artefato canônico v1 e comprime com Gzip nativo.
|
|
21
|
+
*/
|
|
22
|
+
export declare function compressArtifact(artifact: FlightRecorderArtifact): Promise<Uint8Array>;
|
|
23
|
+
/**
|
|
24
|
+
* Descompacta e valida um artefato a partir de ArrayBuffer, Uint8Array ou string.
|
|
25
|
+
* Suporta transparentemente tanto arquivos compactados (.gz) quanto JSON comum.
|
|
26
|
+
*/
|
|
27
|
+
export declare function decompressArtifact(data: ArrayBuffer | Uint8Array | string | unknown, limit?: number): Promise<FlightRecorderArtifact>;
|
|
28
|
+
//# sourceMappingURL=compression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/utils/compression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AAMnD,8EAA8E;AAC9E,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,SAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAsB3H;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,SAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6B3G;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAajF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,SAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAalG;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAG5F;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,EACjD,KAAK,SAAqB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAsCjC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FlightRecorderArtifact } from '../types/artifact';
|
|
2
|
+
export interface GistUploadResult {
|
|
3
|
+
gistId: string;
|
|
4
|
+
gistUrl: string;
|
|
5
|
+
rawUrl: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Faz o upload de um artefato .ffr.json como um Gist Secreto no GitHub.
|
|
9
|
+
* Requer um Personal Access Token com o escopo 'gist'.
|
|
10
|
+
*/
|
|
11
|
+
export declare function uploadArtifactToGist(artifact: FlightRecorderArtifact, githubToken: string): Promise<GistUploadResult>;
|
|
12
|
+
//# sourceMappingURL=gist-uploader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gist-uploader.d.ts","sourceRoot":"","sources":["../../src/utils/gist-uploader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,sBAAsB,EAChC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC,CA6D3B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FlightRecorderArtifact } from '../types/artifact';
|
|
2
|
+
export interface MarkdownFormatOptions {
|
|
3
|
+
replayUrl?: string;
|
|
4
|
+
maxBreadcrumbs?: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Gera um resumo formatado em Markdown para debug (estilo Sentry)
|
|
8
|
+
* pronto para ser colado em IAs (Gemini, Claude, ChatGPT), Jira ou GitHub Issues.
|
|
9
|
+
* Sem emojis, com breadcrumbs, stack traces e contexto completo.
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatIncidentMarkdown(artifact: FlightRecorderArtifact, options?: MarkdownFormatOptions): string;
|
|
12
|
+
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/utils/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAQhE,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAWD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,sBAAsB,EAChC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAsLR"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { FlightRecorderArtifact, TimelineEvent } from '../types';
|
|
2
|
+
export interface ValidationSuccess {
|
|
3
|
+
success: true;
|
|
4
|
+
data: FlightRecorderArtifact;
|
|
5
|
+
}
|
|
6
|
+
export interface ValidationFailure {
|
|
7
|
+
success: false;
|
|
8
|
+
errors: string[];
|
|
9
|
+
}
|
|
10
|
+
export type ValidationResult = ValidationSuccess | ValidationFailure;
|
|
11
|
+
/**
|
|
12
|
+
* Valida se annotationImage é estritamente uma imagem data:base64 segura (png, jpeg ou webp),
|
|
13
|
+
* rejeitando http:, https:, javascript:, file: e payloads acima de 10 MB.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isValidAnnotationImage(value: unknown): value is string;
|
|
16
|
+
/** Validates the envelope and the minimum rrweb payload before handing it to the player. */
|
|
17
|
+
export declare function isReplayEvent(value: unknown): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Valida a integridade e o schema de um artefato .ffr.json do Flight Recorder.
|
|
20
|
+
* Rejeita formatos incompatíveis, campos ausentes ou tipos inválidos.
|
|
21
|
+
*/
|
|
22
|
+
export declare function validateFlightRecorderArtifact(input: unknown): ValidationResult;
|
|
23
|
+
/**
|
|
24
|
+
* Ordena eventos da timeline por timestamp crescente e sequence crescente.
|
|
25
|
+
*/
|
|
26
|
+
export declare function sortTimelineEvents(events: TimelineEvent[]): TimelineEvent[];
|
|
27
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validation/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EAEtB,aAAa,EAEd,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,sBAAsB,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AA0BrE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAQtE;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA4BrD;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAyf/E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAO3E"}
|
|
Binary file
|